drm: do not leak kernel addresses via /proc/dri/*/vma

In the continuing effort to avoid kernel addresses leaking to unprivileged
users, this patch switches to %pK for /proc/dri/*/vma.

Signed-off-by: Kees Cook <kees.cook@canonical.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Kees Cook 2011-02-11 19:29:44 -08:00 коммит произвёл Dave Airlie
Родитель 9fad321ac6
Коммит 01e2f533a2
1 изменённых файлов: 5 добавлений и 4 удалений

Просмотреть файл

@ -283,17 +283,18 @@ int drm_vma_info(struct seq_file *m, void *data)
#endif #endif
mutex_lock(&dev->struct_mutex); mutex_lock(&dev->struct_mutex);
seq_printf(m, "vma use count: %d, high_memory = %p, 0x%08llx\n", seq_printf(m, "vma use count: %d, high_memory = %pK, 0x%pK\n",
atomic_read(&dev->vma_count), atomic_read(&dev->vma_count),
high_memory, (u64)virt_to_phys(high_memory)); high_memory, (void *)virt_to_phys(high_memory));
list_for_each_entry(pt, &dev->vmalist, head) { list_for_each_entry(pt, &dev->vmalist, head) {
vma = pt->vma; vma = pt->vma;
if (!vma) if (!vma)
continue; continue;
seq_printf(m, seq_printf(m,
"\n%5d 0x%08lx-0x%08lx %c%c%c%c%c%c 0x%08lx000", "\n%5d 0x%pK-0x%pK %c%c%c%c%c%c 0x%08lx000",
pt->pid, vma->vm_start, vma->vm_end, pt->pid,
(void *)vma->vm_start, (void *)vma->vm_end,
vma->vm_flags & VM_READ ? 'r' : '-', vma->vm_flags & VM_READ ? 'r' : '-',
vma->vm_flags & VM_WRITE ? 'w' : '-', vma->vm_flags & VM_WRITE ? 'w' : '-',
vma->vm_flags & VM_EXEC ? 'x' : '-', vma->vm_flags & VM_EXEC ? 'x' : '-',