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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:26 EST