On Sat, Oct 27, 2007 at 11:10:20PM -0700, David Daney wrote: > mmap with MAP_FIXED was not validating the addr and len parameters. > This leads to the failure of GCC's gcc.c-torture/execute/loop-2[fg].c > testcases when using the o32 ABI on a 64 bit kernel. > > These testcases try to mmap 65536 bytes at 0x7fff8000 and then access > all the memory. In 2.6.18 and 2.6.23.1 (and likely other versions as > well) the kernel maps the requested memory, but since half of it is > above 0x80000000 a SIGBUS is generated when it is accessed. > > This patch moves the len validation above the MAP_FIXED processing so > that it is always validated. It also adds validation to the addr > parameter for MAP_FIXED mappings. Thanks, applied. Ralf