From: Dave Boutcher Earlier code relied on a broken length calculation copy /proc/pid/pagemap header data to userspace. This fix correctly calls the add_to_pagemap routine after the header data is set to copy results to userspace in a sane fashion. Signed-off-by: Dave Boutcher Cc: Matt Mackall Signed-off-by: Andrew Morton --- fs/proc/task_mmu.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN fs/proc/task_mmu.c~maps2-add-proc-pid-pagemap-interface-fix-proc-pid-pagemap-header-copy-to-userspace fs/proc/task_mmu.c --- a/fs/proc/task_mmu.c~maps2-add-proc-pid-pagemap-interface-fix-proc-pid-pagemap-header-copy-to-userspace +++ a/fs/proc/task_mmu.c @@ -689,11 +689,11 @@ static ssize_t pagemap_read(struct file pm.out = buf; if (svpfn == -1) { - add_to_pagemap(pm.next, 0, &pm); ((char *)page)[0] = (ntohl(1) != 1); ((char *)page)[1] = PAGE_SHIFT; ((char *)page)[2] = sizeof(unsigned long); ((char *)page)[3] = sizeof(unsigned long); + add_to_pagemap(pm.next, page[0], &pm); } down_read(&mm->mmap_sem); _