diff -urN linux-2.4.22/mm/mmap.c linux-2.4.23/mm/mmap.c --- linux-2.4.22/mm/mmap.c 2003-06-13 07:51:39.000000000 -0700 +++ linux-2.4.23/mm/mmap.c 2003-11-28 10:26:21.000000000 -0800 @@ -1041,6 +1041,9 @@ if (!len) return addr; + if ((addr + len) > TASK_SIZE || (addr + len) < addr) + return -EINVAL; + /* * mlock MCL_FUTURE? */