linux/arch/i386
Chuck Ebbert 3dab307e52 i386: Fix double fault handler
The new percpu code has apparently broken the doublefault handler
when CONFIG_DEBUG_SPINLOCK is set. Doublefault is handled by
a hardware task, making the check

        SPIN_BUG_ON(lock->owner == current, lock, "recursion");

fault because it uses the FS register to access the percpu data
for current, and that register is zero in the new TSS. (The trace
I saw was on 2.6.20 where it was GS, but it looks like this will
still happen with FS on 2.6.22.)

Initializing FS in the doublefault_tss should fix it.

AK: Also fix broken ptr_ok() and turn printks into KERN_EMERG
AK: And add a PANIC prefix to make clear the system will hang
AK: (e.g. x86-64 will recover)

Signed-off-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-11 15:58:14 -07:00
..
boot [x86 setup] EDD: add missing =m constraint 2007-08-02 13:45:49 -04:00
crypto [CRYPTO] api: Get rid of flags argument to setkey 2006-09-21 11:41:02 +10:00
kernel i386: Fix double fault handler 2007-08-11 15:58:14 -07:00
lib i386: Move all simple string operations out of line 2007-07-21 18:37:08 -07:00
mach-default Add IRQF_IRQPOLL flag on i386 2007-05-08 11:15:22 -07:00
mach-es7000 i386: es7000 build breakage fix 2007-07-06 10:23:43 -07:00
mach-generic kbuild: remove hardcoded apic_es7000 from modpost 2007-07-16 23:24:51 +02:00
mach-visws PCI: i386: traps, change VENDOR to DEVICE 2007-07-11 16:02:10 -07:00
mach-voyager usermodehelper: Tidy up waiting 2007-07-18 08:47:40 -07:00
math-emu potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
mm x86: Disable CLFLUSH support again 2007-08-11 15:58:13 -07:00
oprofile x86: fix oprofile double free 2007-06-01 08:18:28 -07:00
pci x86: Work around mmio config space quirk on AMD Fam10h 2007-08-11 15:58:12 -07:00
power Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
video fbcon: allow fbcon to use the primary display driver 2007-07-17 10:23:11 -07:00
xen i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
Kconfig Remove one more leftover reference to devfs 2007-07-31 15:39:42 -07:00
Kconfig.cpu i386: Allow KVM on i386 nonpae 2007-07-19 14:37:05 -07:00
Kconfig.debug Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
Makefile xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
Makefile.cpu [PATCH] i386: Fix usage of -mtune when X86_GENERIC=y or CONFIG_MCORE2=y 2007-05-02 19:27:06 +02:00
defconfig i386: Update defconfig 2007-07-21 18:37:07 -07:00