--- linux/ipc/shm.c.orig 2003-04-28 11:19:24.000000000 -0700 +++ linux/ipc/shm.c 2003-05-09 13:26:13.000000000 -0700 @@ -600,7 +600,7 @@ if (addr & (SHMLBA-1)) { if (shmflg & SHM_RND) addr &= ~(SHMLBA-1); /* round down */ - else + else if (addr & ~PAGE_MASK) return -EINVAL; } flags = MAP_SHARED | MAP_FIXED;