From 91821c8c0b183337c5b93d5bf915cef314164c2b Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Tue, 21 Mar 2017 21:55:23 -0600 Subject: kexec-tools: get kexec running on MUSL and x86 hardware Couple of important upstream patches (slated for 2.0.15) that are necessary for kexec to run on MUSL and on x86 hardware. Signed-off-by: Philip Prindeville (cherry picked from commit dfacdc6a99757fcf7804b38784fc24f9fad30650) --- .../patches/120-fail-to-get-symbol-debug.patch | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/boot/kexec-tools/patches/120-fail-to-get-symbol-debug.patch (limited to '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 index 0000000..d80c6db --- /dev/null +++ b/package/boot/kexec-tools/patches/120-fail-to-get-symbol-debug.patch @@ -0,0 +1,33 @@ +commit 263e45ccf27b21e9862cc538ed28978533d04e4b +Author: Baoquan He +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 + Reviewed-by: Pratyush Anand + Acked-by: Dave Young + Signed-off-by: Simon Horman + +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; + } + -- cgit v1.1