• Maneesh Soni's avatar
    [PATCH] Plug kdump shutdown race window · 67963132
    Maneesh Soni authored
    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: default avatarManeesh Soni <maneesh@in.ibm.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    67963132
apic.c 32.5 KB