kernel-ark/arch/mips/kernel
David Daney 098362e720 [MIPS] Add len and addr validation for MAP_FIXED mappings.
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.

Signed-off-by: David Daney  <ddaney@avtrex.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-10-29 19:35:36 +00:00
..
8250-platform.c [MIPS] Put an end to <asm/serial.h>'s long and annyoing existence 2007-07-10 17:33:01 +01:00
asm-offsets.c [MIPS] Extract {PGD,PMD,PTE}_ORDER into asm-offset.h 2007-08-27 02:16:49 +01:00
binfmt_elfn32.c
binfmt_elfo32.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
branch.c [MIPS] Add some __user tags 2007-07-13 17:40:01 +01:00
cevt-gt641xx.c [MIPS] time: set clock before clockevent_delta2ns() in GT641xx. 2007-10-29 19:35:33 +00:00
cevt-r4k.c [MIPS] time: Replace plat_timer_setup with modern APIs. 2007-10-29 19:35:36 +00:00
cevt-txx9.c [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
cpu-bugs64.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
cpu-probe.c [MIPS] Add BUG_ON assertion for attempt to run kernel on the wrong CPU type. 2007-10-11 23:46:18 +01:00
early_printk.c
entry.S [MIPS] SMTC: Interrupt mask backstop hack 2007-07-12 17:41:17 +01:00
gdb-low.S
gdb-stub.c [MIPS] Kill num_online_cpus() loops. 2007-10-11 23:46:18 +01:00
genex.S [MIPS] SMTC: Interrupt mask backstop hack 2007-07-12 17:41:17 +01:00
head.S [MIPS] Always do the ARC64_TWIDDLE_PC thing. 2007-10-18 18:11:46 +01:00
i8253.c [MIPS] i8253 PIT clocksource and clockevent drivers 2007-10-11 23:46:10 +01:00
i8259.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
init_task.c
irix5sys.S
irixelf.c pid namespaces: round up the API 2007-10-19 11:53:37 -07:00
irixinv.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
irixioctl.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
irixsig.c [MIPS] IRIX: Fix off-by-one error in signal compat code. 2007-10-29 19:35:36 +00:00
irq_cpu.c
irq_txx9.c [MIPS] Remove dead code from irq_txx9.c 2007-08-27 02:16:54 +01:00
irq-gt641xx.c [MIPS] Add GT641xx IRQ routines. 2007-10-11 23:46:04 +01:00
irq-msc01.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
irq-rm7000.c
irq-rm9000.c
irq.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
kspd.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
linux32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
machine_kexec.c [MIPS] Unconditionally writeback and invalidate caches on kexec. 2007-08-27 02:16:59 +01:00
Makefile [MIPS] txx9tmr clockevent/clocksource driver 2007-10-29 19:35:35 +00:00
mips_ksyms.c
mips-mt-fpaff.c [MIPS] Fixup secure computing stuff. 2007-07-31 21:35:21 +01:00
mips-mt.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
module.c Fix misspellings of "system", "controller", "interrupt" and "necessary". 2007-10-19 23:10:43 +02:00
pcspeaker.c [MIPS] Rename PC speaker code 2007-07-12 17:41:23 +01:00
proc.c [MIPS] Make facility to convert CPU types to strings generally available. 2007-10-11 23:46:17 +01:00
process.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
ptrace32.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
ptrace.c Consolidate PTRACE_DETACH 2007-10-16 09:42:49 -07:00
r4k_fpu.S
r4k_switch.S [MIPS] Fix resume for 64K page size on R4000 class processors. 2007-07-12 17:41:05 +01:00
r2300_fpu.S
r2300_switch.S
r6000_fpu.S
relocate_kernel.S [MIPS] Kexec: Fix several 64-bit bugs. 2007-07-31 21:35:36 +01:00
reset.c
rtlx.c [MIPS] rtlx: Fix build error. 2007-09-14 19:08:42 +01:00
scall32-o32.S [MIPS] Wire up the fallocate syscall. 2007-07-31 21:35:22 +01:00
scall64-64.S [MIPS] Wire up the fallocate syscall. 2007-07-31 21:35:22 +01:00
scall64-n32.S [MIPS] N32 needs to use compat_sys_futimesat 2007-09-14 19:08:42 +01:00
scall64-o32.S [MIPS] Fix fallocate on o32 binary compat ABI 2007-09-28 19:27:20 +01:00
semaphore.c
setup.c [MIPS] ARC: Get rid of mips_machgroup 2007-10-11 23:46:08 +01:00
signal32.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
signal_n32.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
signal-common.h
signal.c [MIPS] checkfiles: Fix "need space after that ','" errors. 2007-10-11 23:46:15 +01:00
smp-mt.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
smp.c [MIPS] SMP: Fix use of cpumasks. 2007-10-13 00:53:01 +01:00
smtc-asm.S
smtc-proc.c
smtc.c [MIPS] SMTC: Allow control over TC assignment to vpe0. 2007-10-29 19:35:32 +00:00
stacktrace.c
syscall.c [MIPS] Add len and addr validation for MAP_FIXED mappings. 2007-10-29 19:35:36 +00:00
sysirix.c pid namespaces: round up the API 2007-10-19 11:53:37 -07:00
time.c [MIPS] time: Cause platform definitions of plat_timer_setup to cause error. 2007-10-29 19:35:34 +00:00
topology.c
traps.c Use helpers to obtain task pid in printks (arch code) 2007-10-19 11:53:43 -07:00
unaligned.c [MIPS] Fix "no space between function name and open parenthesis" warnings. 2007-10-11 23:46:15 +01:00
vmlinux.lds.S [MIPS] vmlinux.lds.S: Handle KPROBES_TEXT. 2007-10-16 18:23:46 +01:00
vpe.c [MIPS] vpe: Use p_paddr instead of p_vaddr loader. 2007-10-29 19:35:33 +00:00