# HG changeset patch # User quintela@elfo.mitica # Node ID e5168f3eb0de30d54f9d03d4afeddbb3a1e69d3f # Parent 35d3d547d0d38754c0fc4831a7f073531245c835 sysfs-crash-debugging xen bits diff -r 35d3d547d0d3 -r e5168f3eb0de arch/i386/kernel/traps-xen.c --- a/arch/i386/kernel/traps-xen.c Thu Jul 27 00:46:20 2006 +0200 +++ b/arch/i386/kernel/traps-xen.c Thu Jul 27 00:59:37 2006 +0200 @@ -100,6 +100,8 @@ static int kstack_depth_to_print = 24; static int kstack_depth_to_print = 24; static int call_trace = 1; ATOMIC_NOTIFIER_HEAD(i386die_chain); + +extern char last_sysfs_file[]; int register_die_notifier(struct notifier_block *nb) { @@ -414,6 +416,9 @@ void die(const char * str, struct pt_reg #endif if (nl) printk("\n"); +#ifdef CONFIG_SYSFS + printk(KERN_ALERT "last sysfs file: %s\n", last_sysfs_file); +#endif if (notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV) != NOTIFY_STOP) { diff -r 35d3d547d0d3 -r e5168f3eb0de arch/x86_64/kernel/traps-xen.c --- a/arch/x86_64/kernel/traps-xen.c Thu Jul 27 00:46:20 2006 +0200 +++ b/arch/x86_64/kernel/traps-xen.c Thu Jul 27 00:59:37 2006 +0200 @@ -69,6 +69,8 @@ asmlinkage void spurious_interrupt_bug(v asmlinkage void spurious_interrupt_bug(void); ATOMIC_NOTIFIER_HEAD(die_chain); + +extern char last_sysfs_file[]; int register_die_notifier(struct notifier_block *nb) { @@ -537,6 +539,9 @@ void __kprobes __die(const char * str, s printk("DEBUG_PAGEALLOC"); #endif printk("\n"); +#ifdef CONFIG_SYSFS + printk(KERN_ALERT "last sysfs file: %s\n", last_sysfs_file); +#endif notify_die(DIE_OOPS, str, regs, err, current->thread.trap_no, SIGSEGV); show_registers(regs); /* Executive summary in case the oops scrolled away */