2002-12-20 11:10:33

by Gianni Tedesco

[permalink] [raw]
Subject: [PATCH]: trivial sys_mincore cleanup

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(&current->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(&current->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 http://www.scaramanga.co.uk/gianni-at-ecsc.asc | gpg --import
8646BE7D: 6D9F 2287 870E A2C9 8F60 3A3C 91B5 7669 8646 BE7D


Attachments:
signature.asc (232.00 B)
This is a digitally signed message part

2002-12-31 09:15:31

by Alex Riesen

[permalink] [raw]
Subject: Re: [PATCH]: trivial sys_mincore cleanup

Gianni Tedesco, Fri, Dec 20, 2002 12:17:54 +0100:
> Patch makes 2 simple cleanups:
> - Checks the syscall parameters before grabbing mmap semaphore.
> - Tidy up a comment.

The comment is actually right: it is an old mathematical notation
to describe regions - from start until end, but not including the end.

> /*
> - * 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.
> */

-alex