| From e604f1cb85367d2e5fd4cf253296d190996da81a Mon Sep 17 00:00:00 2001 |
| From: Zhouyi Zhou <zhouzhouyi@gmail.com> |
| Date: Fri, 7 Jul 2017 16:51:45 +0800 |
| Subject: docs: disable KASLR when debugging kernel |
| |
| From: Zhouyi Zhou <zhouzhouyi@gmail.com> |
| |
| commit e604f1cb85367d2e5fd4cf253296d190996da81a upstream. |
| |
| 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 <zhouzhouyi@gmail.com> |
| Reviewed-by: Kieran Bingham <kbingham@kernel.org> |
| Acked-by: Jan Kiszka <jan.kiszka@siemens.com> |
| Signed-off-by: Jonathan Corbet <corbet@lwn.net> |
| Cc: Natale Patriciello <natale.patriciello@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| Documentation/dev-tools/gdb-kernel-debugging.rst | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/Documentation/dev-tools/gdb-kernel-debugging.rst |
| +++ b/Documentation/dev-tools/gdb-kernel-debugging.rst |
| @@ -31,11 +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 |
| |