[PATCH RESEND v2] kexec/crash: no crash update when kexec in progress

Sourabh Jain sourabhjain at linux.ibm.com
Thu Sep 12 01:03:31 PDT 2024


Hello Baoquan,

On 11/09/24 19:50, Baoquan He wrote:
> On 09/11/24 at 04:51pm, Sourabh Jain wrote:
>> The following errors are observed when kexec is done with SMT=off on
>> powerpc.
>>
>> [  358.458385] Removing IBM Power 842 compression device
>> [  374.795734] kexec_core: Starting new kernel
>> [  374.795748] kexec: Waking offline cpu 1.
>> [  374.875695] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate
>> [  374.935833] kexec: Waking offline cpu 2.
>> [  375.015664] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate
>> snip..
>> [  375.515823] kexec: Waking offline cpu 6.
>> [  375.635667] crash hp: kexec_trylock() failed, elfcorehdr may be inaccurate
>> [  375.695836] kexec: Waking offline cpu 7.
>>
>> To avoid kexec kernel boot failure on PowerPC, all the present CPUs that
>> are offline are brought online during kexec. For more information, refer
>> to commit e8e5c2155b00 ("powerpc/kexec: Fix orphaned offline CPUs across
>> kexec"). Bringing the CPUs online triggers the crash hotplug handler,
>> crash_handle_hotplug_event(), to update the kdump image. Since the
>> system is on the kexec kernel boot path and the kexec lock is held, the
>> crash_handle_hotplug_event() function fails to acquire the same lock to
>> update the kdump image, resulting in the error messages mentioned above.
>>
>> To fix this, return from crash_handle_hotplug_event() without printing
>> the error message if kexec is in progress.
>>
>> The same applies to the crash_check_hotplug_support() function. Return
>> 0 if kexec is in progress because kernel is not in a position to update
>> the kdump image.
> LGTM, thanks.
>
> Acked-by: Baoquan he <bhe at redhat.com>

Thank you for the Ack!

My understanding is that this patch will go upstream via the linux-next 
tree, as it is based on 
https://lore.kernel.org/all/20240902034708.88EC1C4CEC2@smtp.kernel.org/ 
which is already part of the linux-next master branch. - Sourabh Jain



More information about the kexec mailing list