Call get_elfcorehdrsz() to obtain the size of the elfcorehdr
buffer.

Signed-off-by: Eric DeVolder <[email protected]>
---
 kexec/arch/i386/crashdump-x86.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
index cb86ca7..29d4ba5 100644
--- a/kexec/arch/i386/crashdump-x86.c
+++ b/kexec/arch/i386/crashdump-x86.c
@@ -957,6 +957,12 @@ int load_crashdump_segments(struct kexec_info *info, char* 
mod_cmdline,
                memsz = bufsz;
        }
 
+       /* Adjust size of buffer according to hotplug and user */
+       sz = get_elfcorehdrsz(&elf_info, bufsz, CRASH_MAX_MEMORY_RANGES);
+       if (sz > memsz)
+               memsz = sz;
+       memsz = _ALIGN(memsz, align);
+
        /* Record the location of the elfcorehdr for hotplug handling */
        info->elfcorehdr =
        elfcorehdr = add_buffer(info, tmp, bufsz, memsz, align, min_base,
-- 
2.31.1


_______________________________________________
kexec mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kexec

Reply via email to