For hotplug, the elfcorehdr segment must be sized appropriately to allow a growing number of CPUs or memory regions. Use the size reported by the kernel via /sys/kernel/crash_elfcorehdr_sz. Signed-off-by: Eric DeVolder <eric.devolder@xxxxxxxxxx> --- kexec/arch/i386/crashdump-x86.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c index cb86ca7..a01031e 100644 --- a/kexec/arch/i386/crashdump-x86.c +++ b/kexec/arch/i386/crashdump-x86.c @@ -957,6 +957,14 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, memsz = bufsz; } + /* For hotplug support, override the minimum necessary size just + * computed with the value from /sys/kernel/crash_elfcorehdr_size. + * Properly align the size as well. + */ + if (do_hotplug) { + memsz = _ALIGN(elfcorehdrsz, align); + } + /* Record the location of the elfcorehdr for hotplug handling */ info->elfcorehdr = elfcorehdr = add_buffer(info, tmp, bufsz, memsz, align, min_base, -- 2.39.3 _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec