linux/arch/sparc/mm
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
..
btfixup.c sparc: remove CONFIG_SUN4 2008-08-31 20:59:37 -07:00
extable.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
fault_32.c sparc: refactor code in fault_32.c 2009-01-06 12:52:41 -08:00
fault_64.c sparc64: Kill bogus TPC/address truncation during 32-bit faults. 2009-02-03 16:28:23 -08:00
generic_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
generic_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
highmem.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
hugetlbpage.c sparc,sparc64: unify mm/ 2008-12-04 09:16:59 -08:00
hypersparc.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
init_32.c sparc: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:05 -08:00
init_64.c sparc64: move EXPORT_SYMBOL to the symbols definition 2009-01-08 16:58:20 -08:00
init_64.h sparc,sparc64: unify mm/ 2008-12-04 09:16:59 -08:00
io-unit.c sparc: use sparc64 version of scatterlist.h 2008-12-11 20:24:58 -08:00
iommu.c sparc: use sparc64 version of scatterlist.h 2008-12-11 20:24:58 -08:00
loadmmu.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
Makefile sparc,sparc64: unify mm/ 2008-12-04 09:16:59 -08:00
nosun4c.c sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
srmmu.c sparc: drop SUN_IO 2008-12-27 00:55:45 -08:00
sun4c.c sparc: unify sections.h 2008-12-27 00:35:12 -08:00
swift.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00
tlb.c sparc,sparc64: unify mm/ 2008-12-04 09:16:59 -08:00
tsb.c sparc64: Add tsb-ratio sysctl. 2008-12-04 09:16:59 -08:00
tsunami.S sparc/mm/: possible cleanups 2008-07-17 21:38:01 -07:00
ultra.S sparc64: Make %pil level 15 a pseudo-NMI. 2008-12-04 09:17:02 -08:00
viking.S sparc: remove CVS keywords 2008-05-20 00:33:44 -07:00