From 50aa6dea246486bee2c3b7d07fba4ca286dece02 Mon Sep 17 00:00:00 2001 From: Baoquan He Date: Tue, 26 Mar 2019 16:33:18 +0800 Subject: [PATCH] kexec-kdump-howto: Add note on setting correct value of kptr_restrict kdumpctl fails to load a crash kernel if KASLR is enabled. The incorrect configuration of the kptr_restrict parameter causes that the kdumpctl fails to load a crash kernel. The problem occurs when the Kernel Address Space Layout Randomization (KASLR) mechanism is enabled. The value of kptr_restrict decides how to expose the content of /proc files. Inappropriate setting will cause that the /proc/kallsyms file is being printed as all zeros. This configuration will break the kdump loading process since it needs access to the conntent of /proc/kallsyms if KASLR is enabled. Set kptr_restrict to 1 to avoid the problem described above. Signed-off-by: Baoquan He Acked-by: Dave Young --- kexec-kdump-howto.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kexec-kdump-howto.txt b/kexec-kdump-howto.txt index 011a19f..12a9450 100644 --- a/kexec-kdump-howto.txt +++ b/kexec-kdump-howto.txt @@ -91,6 +91,12 @@ This line tells kexec to reserve 64M of ram if the system contains between 512M and 2G of physical memory. If the system contains 2G or more of physical memory, 128M should be reserved. +Besides, since kdump needs to access /proc/kallsyms during a kernel +loading if KASLR is enabled, check /proc/sys/kernel/kptr_restrict to +make sure that the content of /proc/kallsyms is exposed correctly. +We recommend to set the value of kptr_restrict to '1'. Otherwise +capture kernel loading could fail. + After making said changes, reboot your system, so that the X MB of memory is left untouched by the normal system, reserved for the capture kernel. Take note that the output of 'free -m' will show X MB less memory than without this