aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-02-08 18:45:16 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2015-02-08 18:45:16 -0800
commitda2d96d3aa181c367ac4fcb9c11ee5eb15697cdd (patch)
tree7d6f4a95c4fcc2a1f8dcdf4701168db047352b4e /arch
parentMerge git://git.kvack.org/~bcrl/aio-fixes (diff)
parentnios2: fix unhandled signals (diff)
downloadlinux-dev-da2d96d3aa181c367ac4fcb9c11ee5eb15697cdd.tar.xz
linux-dev-da2d96d3aa181c367ac4fcb9c11ee5eb15697cdd.zip
Merge tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/linux-socfpga-next
Pull nios2 fix from Ley Foon Tan: "This fixes incorrect behavior of some user programs" * tag 'nios2-fixes-v3.19-final' of git://git.rocketboards.org/linux-socfpga-next: nios2: fix unhandled signals
Diffstat (limited to 'arch')
-rw-r--r--arch/nios2/mm/fault.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/nios2/mm/fault.c b/arch/nios2/mm/fault.c
index 34429d5a0ccd..d194c0427b26 100644
--- a/arch/nios2/mm/fault.c
+++ b/arch/nios2/mm/fault.c
@@ -159,9 +159,11 @@ bad_area:
bad_area_nosemaphore:
/* User mode accesses just cause a SIGSEGV */
if (user_mode(regs)) {
- pr_alert("%s: unhandled page fault (%d) at 0x%08lx, "
- "cause %ld\n", current->comm, SIGSEGV, address, cause);
- show_regs(regs);
+ if (unhandled_signal(current, SIGSEGV) && printk_ratelimit()) {
+ pr_info("%s: unhandled page fault (%d) at 0x%08lx, "
+ "cause %ld\n", current->comm, SIGSEGV, address, cause);
+ show_regs(regs);
+ }
_exception(SIGSEGV, regs, code, address);
return;
}