From: Christoph Hellwig Here's an updated version of that patch that fixes arm, tested with a netwinder config. Signed-off-by: Christoph Hellwig Cc: Cc: Russell King Signed-off-by: Andrew Morton --- arch/arm/kernel/traps.c | 2 +- arch/arm/mm/fault.c | 2 +- include/asm-arm/system.h | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff -puN arch/arm/kernel/traps.c~move-die-notifier-handling-to-common-code-fixes arch/arm/kernel/traps.c --- a/arch/arm/kernel/traps.c~move-die-notifier-handling-to-common-code-fixes +++ a/arch/arm/kernel/traps.c @@ -245,7 +245,7 @@ NORET_TYPE void die(const char *str, str do_exit(SIGSEGV); } -static void arm_notify_die(const char *str, struct pt_regs *regs, +void arm_notify_die(const char *str, struct pt_regs *regs, struct siginfo *info, unsigned long err, unsigned long trap) { if (user_mode(regs)) { diff -puN arch/arm/mm/fault.c~move-die-notifier-handling-to-common-code-fixes arch/arm/mm/fault.c --- a/arch/arm/mm/fault.c~move-die-notifier-handling-to-common-code-fixes +++ a/arch/arm/mm/fault.c @@ -453,7 +453,7 @@ do_DataAbort(unsigned long addr, unsigne info.si_errno = 0; info.si_code = inf->code; info.si_addr = (void __user *)addr; - notify_die("", regs, &info, fsr, 0); + arm_notify_die("", regs, &info, fsr, 0); } asmlinkage void __exception diff -puN include/asm-arm/system.h~move-die-notifier-handling-to-common-code-fixes include/asm-arm/system.h --- a/include/asm-arm/system.h~move-die-notifier-handling-to-common-code-fixes +++ a/include/asm-arm/system.h @@ -92,6 +92,9 @@ void die(const char *msg, struct pt_regs __attribute__((noreturn)); struct siginfo; +void arm_notify_die(const char *str, struct pt_regs *regs, struct siginfo *info, + unsigned long err, unsigned long trap); + void hook_fault_code(int nr, int (*fn)(unsigned long, unsigned int, struct pt_regs *), int sig, const char *name); _