diff options
author | David S. Miller <davem@davemloft.net> | 2009-02-03 16:28:23 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-03 16:28:23 -0800 |
commit | 9b02605826903203d5301049c1f52e722584785c (patch) | |
tree | 9f4c04e822ab9fff151d9d7aeb907915d8c79b20 /mm/util.c | |
parent | 47a4a0e766e3152dee667ea8fcca8465c8a0759f (diff) | |
download | op-kernel-dev-9b02605826903203d5301049c1f52e722584785c.zip op-kernel-dev-9b02605826903203d5301049c1f52e722584785c.tar.gz |
sparc64: Kill bogus TPC/address truncation during 32-bit faults.
This builds upon eeabac7386ca13bfe1a58afeb04326a9e1a3a20e
("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>
Diffstat (limited to 'mm/util.c')
0 files changed, 0 insertions, 0 deletions