x86: don't send SIGBUS for kernel page faults
authorGreg Kroah-Hartman <gregkh@suse.de>
Fri, 13 Aug 2010 20:46:26 +0000 (13:46 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 20 Aug 2010 18:25:11 +0000 (11:25 -0700)
Based on commit 96054569190bdec375fe824e48ca1f4e3b53dd36 upstream,
authored by Linus Torvalds.

This is my backport to the .27 kernel tree, hopefully preserving
the same functionality.

Original commit message:
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.

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

Simple merge