From daeeafecf029a05a304fa299706b3ecc90e16175 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Sat, 16 Apr 2005 15:25:13 -0700 Subject: [PATCH] x86_64: Keep only a single debug notifier chain Calling a notifier three times in the debug handler does not make much sense, because a debugger can figure out the various conditions by itself. Remove the additional calls to DIE_DEBUG and DIE_DEBUGSTEP completely. This matches what i386 does now. This also makes sure interrupts are always still disabled when calling a debugger, which prevents: BUG: using smp_processor_id() in preemptible [00000001] code: tpopf/1470 caller is post_kprobe_handler+0x9/0x70 Call Trace:{smp_processor_id+191} {post_kpro be_handler+9} {kprobe_exceptions_notify+58} {notifier_call_chain+32} {do_debug+335} {debug+127} on preemptible debug kernels with kprobes when single stepping in user space. This was probably a bug even on non preempt kernels, this function was supposed to be running with interrupts off according to a comment there. Note to third part debugger maintainers: please double check your debugger can still single step. Cc: Cc: Cc: Cc: Cc: Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- include/asm-x86_64/kdebug.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include/asm-x86_64') diff --git a/include/asm-x86_64/kdebug.h b/include/asm-x86_64/kdebug.h index adb6f918d3ad..6277f75cbb4b 100644 --- a/include/asm-x86_64/kdebug.h +++ b/include/asm-x86_64/kdebug.h @@ -23,7 +23,6 @@ enum die_val { DIE_OOPS = 1, DIE_INT3, DIE_DEBUG, - DIE_DEBUGSTEP, DIE_PANIC, DIE_NMI, DIE_DIE, -- cgit v1.2.3