Re: [PATCH v5 11/17] crash: Normalize the kexec_load elfcorehdr at load time

From: sashiko-bot

Date: Fri Sep 18 2026 - 06:41:36 EST


Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] kexec: elfcorehdr_updated in struct kimage is write-only and unused
--

commit 463b7b7692d8e96dc1be8ffaed1b6d0c8d298c9f
Author: Jinjie Ruan <ruanjinjie@xxxxxxxxxx>

crash: Normalize the kexec_load elfcorehdr at load time

This commit changes kexec_load to normalize the elfcorehdr at load time
instead of waiting for the first crash hotplug event. By doing this while
the device_hotplug_lock can be safely taken, it allows hotplug paths to
skip CPU events safely and avoid racing with memory hotplug.

> diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
> index 3c9f4fbbe7ff0..f34fa8dba0288 100644
> --- a/arch/x86/kernel/crash.c
> +++ b/arch/x86/kernel/crash.c
> @@ -457,9 +457,8 @@ void arch_crash_handle_hotplug_event(struct kimage *image, void *arg)
> * possible CPUs, there is no need to update the elfcorehdr
> * for additional CPU changes.
> */
> - if ((image->file_mode || image->elfcorehdr_updated) &&
> - ((image->hp_action == KEXEC_CRASH_HP_ADD_CPU) ||
> - (image->hp_action == KEXEC_CRASH_HP_REMOVE_CPU)))
> + if (image->hp_action == KEXEC_CRASH_HP_ADD_CPU ||
> + image->hp_action == KEXEC_CRASH_HP_REMOVE_CPU)
> return;

[Severity: Low]
Does this leave elfcorehdr_updated as a write-only and unused field?

Since this patch removes the last reader of image->elfcorehdr_updated,
the field is now only written to in crash_handle_hotplug_event() and
initialized in kernel/kexec_core.c:

kernel/crash_core.c:crash_handle_hotplug_event() {
...
image->hp_action = KEXEC_CRASH_HP_NONE;
image->elfcorehdr_updated = true;
...
}

Should the elfcorehdr_updated field be completely removed from struct kimage
in include/linux/kexec.h along with its assignments to avoid dead code and
structure overhead?

--
Sashiko AI review · https://sashiko.dev/#/patchset/20260918100442.3841135-1-ruanjinjie@xxxxxxxxxx?part=11