Messages in this thread Patch in this message | | | Date | Tue, 14 Jan 2003 10:39:02 +0100 | From | DervishD <> | Subject | [PATCH][TRIVIAL] mmap.c corner case fix |
| |
Hi Marcelo :)
This patch fixes a corner case on the mmap() syscall.
The patch is from David S. Miller, not me. My patch was incomplete and did nothing on 'big TASK_SIZE' architectures.
The patch is against both 2.4.20 and 2.4.21-pre, is just the same. Please apply. I sent you the incomplete patch at pre-1 and this bug is getting older by the minute ;))
Thanks :)
Raúl --- linux/mm/mmap.c.orig 2002-12-11 13:59:37.000000000 +0100 +++ linux/mm/mmap.c 2002-12-11 14:01:16.000000000 +0100 @@ -403,10 +403,12 @@ if (file && (!file->f_op || !file->f_op->mmap)) return -ENODEV; - if ((len = PAGE_ALIGN(len)) == 0) + if (!len) return addr; - if (len > TASK_SIZE) + len = PAGE_ALIGN(len); + + if (len > TASK_SIZE || len == 0) return -EINVAL; /* offset overflow? */ | |