[IA64] honor notify_die() returning NOTIFY_STOP

This requires making die() and die_if_kernel() return a value, and their
callers to honor this (and be prepared that it returns).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
This commit is contained in:
Jan Beulich
2008-02-04 23:43:03 -08:00
committed by Tony Luck
parent ef3c4cb936
commit 620de2f5dc
4 changed files with 39 additions and 22 deletions

View File

@ -16,7 +16,7 @@
#include <asm/system.h>
#include <asm/uaccess.h>
extern void die (char *, struct pt_regs *, long);
extern int die(char *, struct pt_regs *, long);
#ifdef CONFIG_KPROBES
static inline int notify_page_fault(struct pt_regs *regs, int trap)
@ -267,9 +267,11 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
else
printk(KERN_ALERT "Unable to handle kernel paging request at "
"virtual address %016lx\n", address);
die("Oops", regs, isr);
if (die("Oops", regs, isr))
regs = NULL;
bust_spinlocks(0);
do_exit(SIGKILL);
if (regs)
do_exit(SIGKILL);
return;
out_of_memory: