OSDN Git Service

x86: don't send SIGBUS for kernel page faults
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 13 Aug 2010 16:49:20 +0000 (09:49 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Aug 2010 20:31:09 +0000 (13:31 -0700)
commit76e3b8d9764ca43452b272925df0b05625f98898
tree6ceca3f45ce69a08f8992a0857bd670e5d2a79bc
parent3aba3fa070fc0f38de2d41252aee9ff17d2de984
x86: don't send SIGBUS for kernel page faults

commit 96054569190bdec375fe824e48ca1f4e3b53dd36 upstream.

It's wrong for several reasons, but the most direct one is that the
fault may be for the stack accesses to set up a previous SIGBUS.  When
we have a kernel exception, the kernel exception handler does all the
fixups, not some user-level signal handler.

Even apart from the nested SIGBUS issue, it's also wrong to give out
kernel fault addresses in the signal handler info block, or to send a
SIGBUS when a system call already returns EFAULT.

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/mm/fault.c