Function crashkernel_mem_callback had wrong parameters type So crash_reserved_mem got completely insane values As a result kexec was unable to allocate segments for crashkernel For instance, I got this message: "Could not find a free area of memory of 0x9f000 bytes..." Signed-off-by: Yuri Volchkov <wolchkov.yuri at gmail.com> --- kexec/arch/i386/crashdump-x86.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c index 77bdad5..82bf239 100644 --- a/kexec/arch/i386/crashdump-x86.c +++ b/kexec/arch/i386/crashdump-x86.c @@ -1041,8 +1041,8 @@ int get_max_crash_kernel_limit(uint64_t *start, uint64_t *end) static int crashkernel_mem_callback(void *UNUSED(data), int nr, char *UNUSED(str), - unsigned long base, - unsigned long length) + unsigned long long base, + unsigned long long length) { if (nr >= CRASH_RESERVED_MEM_NR) return 1; -- 2.2.1