kernel-ark/arch/i386/kernel
Maneesh Soni 6796313263 [PATCH] Plug kdump shutdown race window
lapic_shutdown() re-enables interrupts which is un-desirable for panic
case, so use local_irq_save() and local_irq_restore() to keep the irqs
disabled for kexec on panic case, and close a possible race window while
kdump shutdown as shown in this stack trace

   -- BUG: spinlock lockup on CPU#1, bash/4396, c52781a0
   [<c01c1870>] _raw_spin_lock+0xb7/0xd2
   [<c029e148>] _spin_lock+0x6/0x8
   [<c011b33f>] scheduler_tick+0xe7/0x328
   [<c0128a7c>] update_process_times+0x51/0x5d
   [<c0114592>] smp_apic_timer_interrupt+0x4f/0x58
   [<c01141ff>] lapic_shutdown+0x76/0x7e
   [<c0104d7c>] apic_timer_interrupt+0x1c/0x30
   [<c01141ff>] lapic_shutdown+0x76/0x7e
   [<c0116659>] machine_crash_shutdown+0x83/0xaa
   [<c013cc36>] crash_kexec+0xc1/0xe3
   [<c029e148>] _spin_lock+0x6/0x8
   [<c013cc22>] crash_kexec+0xad/0xe3
   [<c0215280>] __handle_sysrq+0x84/0xfd
   [<c018d937>] write_sysrq_trigger+0x2c/0x35
   [<c015e47b>] vfs_write+0xa2/0x13b
   [<c015ea73>] sys_write+0x3b/0x64
   [<c0103c69>] syscall_call+0x7/0xb

Signed-off-by: Maneesh Soni <maneesh@in.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-14 08:26:44 -08:00
..
acpi [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
cpu [PATCH] x86: cpu model calculation for family 6 cpu 2006-03-08 14:14:01 -08:00
timers Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq 2006-02-13 19:10:43 -08:00
.gitignore [PATCH] x86: gitignore some autogenerated files for i386 2006-02-14 16:09:35 -08:00
apic.c [PATCH] Plug kdump shutdown race window 2006-03-14 08:26:44 -08:00
apm.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
asm-offsets.c
bootflag.c
cpuid.c [PATCH] arch/i386/kernel/cpuid.c: unused variable 2006-01-06 08:33:38 -08:00
crash_dump.c [PATCH] kdump: read previous kernel's memory 2006-01-10 08:01:28 -08:00
crash.c [PATCH] kdump: save registers early (inline functions) 2006-01-10 08:01:27 -08:00
dmi_scan.c [PATCH] x86_64: Generalize DMI and enable for x86-64 2006-01-11 19:04:51 -08:00
doublefault.c [PATCH] i386: inline assembler: cleanup and encapsulate descriptor and task register management 2005-09-05 00:06:11 -07:00
early_printk.c
efi_stub.S
efi.c [PATCH] EFI: Fix gdt load 2006-03-06 18:40:45 -08:00
entry.S [PATCH] Make vm86 support optional 2006-01-08 20:14:11 -08:00
head.S [PATCH] x86: fix broken SMP boot sequence 2006-02-24 14:31:38 -08:00
i386_ksyms.c [PATCH] x86: fix broken SMP boot sequence 2006-02-24 14:31:38 -08:00
i387.c
i8237.c [PATCH] ISA DMA suspend for i386 2005-09-05 00:06:14 -07:00
i8259.c Revert "i386: move apic init in init_IRQs" 2005-10-31 19:16:17 -08:00
init_task.c [PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros 2006-01-08 20:13:38 -08:00
io_apic.c [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
ioport.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
irq.c [PATCH] Change maxaligned_in_smp alignemnt macros to internodealigned_in_smp macros 2006-01-08 20:13:38 -08:00
kprobes.c [PATCH] Kprobes causes NX protection fault on i686 SMP 2006-02-24 14:31:37 -08:00
ldt.c [PATCH] arch/i386/kernel/ldt.c should #include <asm/mmu_context.h> 2005-11-07 07:53:29 -08:00
machine_kexec.c [PATCH] fix kexec asm 2006-03-08 14:15:04 -08:00
Makefile [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
mca.c [PATCH] arch/i386: Use ARRAY_SIZE macro 2005-11-07 07:53:28 -08:00
microcode.c [PATCH] x86 microcode driver vs hotplug CPUs. 2006-02-28 20:53:43 -08:00
module.c
mpparse.c [PATCH] i386: Handle non existing APICs without panicing 2006-02-26 09:53:30 -08:00
msr.c [PATCH] arch/i386/kernel/msr.c: removed unused variable 2006-01-06 08:33:38 -08:00
nmi.c [PATCH] x86: Fix i386 nmi_watchdog that does not trigger die_nmi 2006-03-08 14:14:01 -08:00
numaq.c
pci-dma.c [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
process.c [PATCH] i386: print kernel version in register dumps 2006-02-05 11:06:53 -08:00
ptrace.c [PATCH] i386: PTRACE_POKEUSR: allow changing RF bit in EFLAGS register. 2006-01-05 20:50:51 -08:00
quirks.c [PATCH] EDAC: core EDAC support code 2006-01-18 19:20:31 -08:00
reboot_fixups.c [PATCH] arch/i386/kernel/reboot_fixups.c should #include <linux/reboot_fixups.h> 2005-11-07 07:53:29 -08:00
reboot.c [PATCH] i386/x86-64: Don't IPI to offline cpus on shutdown 2006-01-11 19:04:50 -08:00
relocate_kernel.S
scx200.c [PATCH] arch: Replace pci_module_init() with pci_register_driver() 2006-01-09 12:13:21 -08:00
semaphore.c [PATCH] unify x86/x86-64 semaphore code 2005-09-05 00:06:14 -07:00
setup.c [PATCH] i386: port ATI timer fix from x86_64 to i386 II 2006-03-08 18:10:31 -08:00
sigframe.h [PATCH] __user annotations for pointers in i386 sigframe 2005-09-09 10:31:59 -07:00
signal.c [PATCH] Handle TIF_RESTORE_SIGMASK for i386 2006-01-18 19:20:29 -08:00
smp.c [PATCH] useless includes of linux/irq.h in arch/i386 2005-09-26 18:29:50 -07:00
smpboot.c [PATCH] x86: fix broken SMP boot sequence 2006-02-24 14:31:38 -08:00
srat.c [PATCH] x86_64: Make i386 compile again with fourth DMA32 zone 2005-11-14 19:55:13 -08:00
summit.c
sys_i386.c
syscall_table.S [PATCH] fstatat64 support 2006-02-11 21:41:10 -08:00
sysenter.c
time_hpet.c [PATCH] move rtc_interrupt() prototype to rtc.h 2006-01-08 20:13:47 -08:00
time.c [PATCH] x86: fix potential jiffies overflow in timer_resume() 2006-03-06 18:40:44 -08:00
topology.c [PATCH] Fix topology.c location 2006-02-24 14:31:39 -08:00
trampoline.S
traps.c [PATCH] i386: print kernel version in register dumps 2006-02-05 11:06:53 -08:00
vm86.c correct email address of Manfred Spraul 2006-01-15 02:43:54 +01:00
vmlinux.lds.S [PATCH] i386 / uml: add dwarf sections to static link script 2005-09-10 12:00:17 -07:00
vsyscall-int80.S
vsyscall-note.S
vsyscall-sigreturn.S kbuild: full dependency check on asm-offsets.h 2005-09-09 19:28:28 +02:00
vsyscall-sysenter.S [PATCH] x86: document sysenter path 2006-02-14 16:09:35 -08:00
vsyscall.lds.S kbuild: full dependency check on asm-offsets.h 2005-09-09 19:28:28 +02:00
vsyscall.S