1
0
mirror of https://github.com/torvalds/linux.git synced 2024-12-14 23:25:54 +00:00
linux/arch/sparc
David S. Miller 9b02605826 sparc64: Kill bogus TPC/address truncation during 32-bit faults.
This builds upon eeabac7386
("sparc64: Validate kernel generated fault addresses on sparc64.")

Upon further consideration, we actually should never see any
fault addresses for 32-bit tasks with the upper 32-bits set.

If it does every happen, by definition it's a bug.  Whatever
context created that fault would only have that fault satisfied
if we used the full 64-bit address.  If we truncate it, we'll
always fault the wrong address and we'll always loop faulting
forever.

So catch such conditions and mark them as errors always.  Log
the error and fail the fault.

Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-03 16:28:23 -08:00
..
boot sparc,sparc64: unify boot/ 2008-12-04 09:17:21 -08:00
configs eeprom: More consistent symbol names 2009-01-26 21:19:57 +01:00
include/asm sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
kernel sparc: fixup for sparseirq changes 2009-02-02 22:14:28 -08:00
lib sparc64: fix modpost failure 2009-01-17 23:12:27 -08:00
math-emu sparc64: unify math-emu 2008-12-04 09:16:56 -08:00
mm sparc64: Kill bogus TPC/address truncation during 32-bit faults. 2009-02-03 16:28:23 -08:00
oprofile sparc64: Implement NMI watchdog on capable cpus. 2009-01-30 00:03:53 -08:00
prom sparc: Eliminate PROMLIB_INTERNAL as it does nothing 2009-01-08 16:59:01 -08:00
Kconfig [CVE-2009-0029] sparc: Enable syscall wrappers for 64-bit 2009-01-19 20:21:49 -08:00
Kconfig.debug sparc: unify Kconfig.debug 2008-12-04 09:16:48 -08:00
Makefile sparc: unify kernel/init_task 2008-12-04 13:28:09 -08:00