[PATCH] kexec/x86: fix crashkernel reserved mem detection

Yuri Volchkov wolchkov.yuri at gmail.com
Thu Dec 25 05:38:21 PST 2014


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




More information about the kexec mailing list