summaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2013-05-21 13:16:56 +0200
committerCatalin Marinas <catalin.marinas@arm.com>2013-05-24 18:31:04 +0200
commit953dbbed9ee310100bc841cdea8f992d192531c6 (patch)
tree057f5909fd8f0153a43087d57fe616ef57734398 /arch/arm64/mm
parentarm64: kernel: compiling issue, need 'EXPORT_SYMBOL(clear_page)' (diff)
downloadlinux-953dbbed9ee310100bc841cdea8f992d192531c6.tar.xz
linux-953dbbed9ee310100bc841cdea8f992d192531c6.zip
arm64: Do not report user faults for handled signals
Currently user faults (page, undefined instruction) are always reported even though the user may have a signal handler for them. This patch adds unhandled_signal() check together with printk_ratelimit() for these cases. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r--arch/arm64/mm/fault.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index 98af6e760cce..1426468b77f3 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -113,7 +113,8 @@ static void __do_user_fault(struct task_struct *tsk, unsigned long addr,
{
struct siginfo si;
- if (show_unhandled_signals) {
+ if (show_unhandled_signals && unhandled_signal(tsk, sig) &&
+ printk_ratelimit()) {
pr_info("%s[%d]: unhandled %s (%d) at 0x%08lx, esr 0x%03x\n",
tsk->comm, task_pid_nr(tsk), fault_name(esr), sig,
addr, esr);