docs: disable KASLR when debugging kernel
Subsystems (2)
PATCH v2 2/2 docs: disable KASLR when debugging kernel
commit 6807c84652b0 ("x86: Enable KASLR by default") enables KASLR by default on x86. While KASLR will confuse gdb which resolve kernel symbol address from symbol table of vmlinux. We should turn off KASLR for kernel debugging.
--- Documentation/dev-tools/gdb-kernel-debugging.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)
Documentation/dev-tools/gdb-kernel-debugging.rst +4 -2
@@ -31,12 +31,13 @@ Setup CONFIG_DEBUG_INFO_REDUCED off. If your architecture supports CONFIG_FRAME_POINTER, keep it enabled. -- Install that kernel on the guest. +- Install that kernel on the guest, turn off KASLR if necessary by adding + "nokaslr" to the kernel command line. Alternatively, QEMU allows to boot the kernel directly using -kernel, -append, -initrd command line switches. This is generally only useful if you do not depend on modules. See QEMU documentation for more details on - this mode. + this mode. In this case, you should build the kernel with + CONFIG_RANDOMIZE_BASE disabled if the architecture supports KASLR. - Enable the gdb stub of QEMU/KVM, either
Signature · 1 line
1.9.1
Quoted 22 lines · Zhouyi Zhou
commit
6807c84652b0("x86: Enable KASLR by default") enables KASLR by default on x86. While KASLR will confuse gdb which resolve kernel symbol address from symbol table of vmlinux. We should turn off KASLR for kernel debugging.Signed-off-by Zhouyi Zhou <[email protected]>Reviewed-by Kieran Bingham <[email protected]>--- Documentation/dev-tools/gdb-kernel-debugging.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)Documentation/dev-tools/gdb-kernel-debugging.rst +1
-1@@ -31,12 +31,13 @@ Setup CONFIG_DEBUG_INFO_REDUCED off. If your architecture supports CONFIG_FRAME_POINTER, keep it enabled. -- Install that kernel on the guest. +- Install that kernel on the guest, turn off KASLR if necessary by adding
Documentation/dev-tools/gdb-kernel-debugging.rst Setup · line 43
Quoted 10 lines
Documentation/dev-tools/gdb-kernel-debugging.rst +3
-1+ "nokaslr" to the kernel command line. Alternatively, QEMU allows to boot the kernel directly using -kernel, -append, -initrd command line switches. This is generally only useful if you do not depend on modules. See QEMU documentation for more details on - this mode. + this mode. In this case, you should build the kernel with + CONFIG_RANDOMIZE_BASE disabled if the architecture supports KASLR. - Enable the gdb stub of QEMU/KVM, either
FWIW: Acked-by: Jan Kiszka <[email protected]>
Who's taking this? Jon?
Jan
Signature · 2 lines
Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux
Jonathan Corbet
maintainerQuoted 3 lines · On Thu, 13 Jul 2017 08:53:59 +0200 Jan Kiszka <[email protected]> wrote:
FWIW: Acked-by: Jan Kiszka <[email protected]>
Who's taking this? Jon?
I can take them once the merge window closes.
Thanks,
jon