Messages in this thread Patch in this message | | | Subject | [PATCH]: trivial sys_mincore cleanup | From | Gianni Tedesco <> | Date | 20 Dec 2002 11:17:54 +0000 |
| |
Patch makes 2 simple cleanups: - Checks the syscall parameters before grabbing mmap semaphore. - Tidy up a comment.
BTW. How comes mincore() doesn't return a bit vector? :P
diff -urN linux-2.4.19.orig/mm/filemap.c linux-2.4.19/mm/filemap.c --- linux-2.4.19.orig/mm/filemap.c Sat Aug 3 00:39:46 2002 +++ linux-2.4.19/mm/filemap.c Fri Dec 20 11:11:56 2002 @@ -2736,21 +2736,21 @@ int unmapped_error = 0; long error = -EINVAL; - down_read(¤t->mm->mmap_sem); - if (start & ~PAGE_CACHE_MASK) - goto out; + return error; len = (len + ~PAGE_CACHE_MASK) & PAGE_CACHE_MASK; end = start + len; if (end < start) - goto out; + return error; error = 0; if (end == start) - goto out; + return error; + + down_read(¤t->mm->mmap_sem); /* - * If the interval [start,end) covers some unmapped address + * If the interval [start,end] covers some unmapped address * ranges, just ignore them, but return -ENOMEM at the end. */ vma = find_vma(current->mm, start); -- // Gianni Tedesco (gianni at ecsc dot co dot uk) lynx --source www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import 8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D[unhandled content-type:application/pgp-signature] | |