kexec-tools: get kexec running on MUSL and x86 hardware
[openwrt/staging/lynxis/omap.git] / package / boot / kexec-tools / patches / 120-fail-to-get-symbol-debug.patch
diff --git a/package/boot/kexec-tools/patches/120-fail-to-get-symbol-debug.patch b/package/boot/kexec-tools/patches/120-fail-to-get-symbol-debug.patch
new file mode 100644 (file)
index 0000000..d80c6db
--- /dev/null
@@ -0,0 +1,33 @@
+commit 263e45ccf27b21e9862cc538ed28978533d04e4b
+Author: Baoquan He <bhe@redhat.com>
+Date:   Fri Mar 3 11:52:15 2017 +0800
+
+    Only print debug message when failed to serach for kernel symbol from /proc/kallsyms
+    
+    Kernel symbol page_offset_base could be unavailable when mm KASLR code is
+    not compiled in kernel. It's inappropriate to print out error message
+    when failed to search for page_offset_base from /proc/kallsyms. Seems now
+    there is not a way to find out if mm KASLR is compiled in or not. An
+    alternative approach is only printing out debug message in get_kernel_sym
+    if failed to search a expected kernel symbol.
+    
+    Do it in this patch, a simple fix.
+    
+    Signed-off-by: Baoquan He <bhe@redhat.com>
+    Reviewed-by: Pratyush Anand <panand@redhat.com>
+    Acked-by: Dave Young <dyoung@redhat.com>
+    Signed-off-by: Simon Horman <horms@verge.net.au>
+
+diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c
+index 88aeee3..c4cf201 100644
+--- a/kexec/arch/i386/crashdump-x86.c
++++ b/kexec/arch/i386/crashdump-x86.c
+@@ -127,7 +127,7 @@ static unsigned long long get_kernel_sym(const char *symbol)
+               }
+       }
+-      fprintf(stderr, "Cannot get kernel %s symbol address\n", symbol);
++      dbgprintf("Cannot get kernel %s symbol address\n", symbol);
+       return 0;
+ }