[PATCH] kexec/x86: fix crashkernel reserved mem detection
Tony Jones
tonyj at suse.de
Thu Jan 8 22:27:03 PST 2015
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;
>
More information about the kexec
mailing list