On 12/25/2014 05:38 AM, Yuri Volchkov wrote: > 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> See the patch attached to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771671 which also fixes kexec/arch/sh/crashdump-sh.c and kexec/arch/sh/kexec-sh.c Definitely a problem. Without the x86 fix we seem same failure on i586 tony > --- > 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; >