linux/include
Andi Kleen daeeafecf0 [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:<ffffffff8024f10f>{smp_processor_id+191} <ffffffff80120e69>{post_kpro
be_handler+9} 
<ffffffff80120f7a>{kprobe_exceptions_notify+58} 
<ffffffff80144fc0>{notifier_call_chain+32} <ffffffff80110daf>{do_debug+335} 
<ffffffff8010f513>{debug+127}  <EOE> 

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: <prasanna@in.ibm.com>
Cc: <jbeulich@novell.com>
Cc: <kaos@sgi.com>
Cc: <jim.houston@ccur.com>
Cc: <jfv@bluesong.net>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-04-16 15:25:13 -07:00
..
acpi Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-alpha Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-arm [PATCH] arm: add comment about dma_supported() 2005-04-16 15:23:57 -07:00
asm-arm26 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-cris Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-frv Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-generic Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-h8300 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-i386 [PATCH] i386: Use loaddebug macro consistently 2005-04-16 15:24:46 -07:00
asm-ia64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-m32r Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-m68k [PATCH] ppc32: fix compilation error in include/asm-m68k/setup.h 2005-04-16 15:24:27 -07:00
asm-m68knommu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-mips [PATCH] mips: update VR41xx CPU-PCI bridge support 2005-04-16 15:24:40 -07:00
asm-parisc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-ppc [PATCH] ppc64: very basic desktop g5 sound support 2005-04-16 15:24:32 -07:00
asm-ppc64 [PATCH] ppc64: no prefetch for NULL pointers 2005-04-16 15:24:38 -07:00
asm-s390 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-sh64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-sparc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-sparc64 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-um Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-v850 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-x86_64 [PATCH] x86_64: Keep only a single debug notifier chain 2005-04-16 15:25:13 -07:00
linux [PATCH] irq and pci_ids: patch for Intel ESB2 2005-04-16 15:24:41 -07:00
math-emu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
media Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtd Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
net [PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA 2005-04-16 15:24:56 -07:00
pcmcia Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
scsi Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sound Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
video Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00