[PATCH] mincore: fill in results properly
authorNick Piggin <npiggin@suse.de>
Wed, 14 Feb 2007 11:36:32 +0000 (12:36 +0100)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Thu, 15 Feb 2007 17:57:03 +0000 (09:57 -0800)
Paper bag time. Thanks to Randy for noticing that I didn't actually assign
'present' to anything.

Unfortunately my original patch passed the few simple test cases I gave it,
purely by coincidence.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/mincore.c

index 9780097e3812cf2c5c57a2fa3e21517215fedb8d..9c1d0a426e95f7b10cd14ee986d9cbe69fcc37f9 100644 (file)
@@ -125,6 +125,8 @@ static long do_mincore(unsigned long addr, unsigned char *vec, unsigned long pag
 #endif
                        }
                }
+
+               vec[i] = present;
        }
        pte_unmap_unlock(ptep-1, ptl);
 
@@ -135,6 +137,9 @@ none_mapped:
                pgoff = linear_page_index(vma, addr);
                for (i = 0; i < nr; i++, pgoff++)
                        vec[i] = mincore_page(vma->vm_file->f_mapping, pgoff);
+       } else {
+               for (i = 0; i < nr; i++)
+                       vec[i] = 0;
        }
 
        return nr;