kdump: crash_kexec()-smp_send_stop() race in panic

Seiji Aguchi seiji.aguchi at hds.com
Mon Oct 24 18:24:14 EDT 2011


Hi,

>> >>> 1st CPU:
>> >>> panic()->crash_kexec()->mutex_trylock(&kexec_mutex)-> do kdump
>> >>>
>> >>> 2nd CPU:
>> >>> panic()->crash_kexec()->kexec_mutex already held by 1st CPU
>> >>>        ->smp_send_stop()-> stop CPU 1 (stop kdump)
>> >>>
>> >>> How should we fix this problem? One possibility could be to do
>> >>> smp_send_stop() before we call crash_kexec().

http://lkml.org/lkml/2010/9/16/353

I developed a patch solving this issue one year ago.
(Just adding local_irq_disable in kexec path.)

I hope this helps.

Seiji




More information about the kexec mailing list