summaryrefslogtreecommitdiffstats
path: root/Documentation/dev-tools
diff options
context:
space:
mode:
authorZhouyi Zhou <zhouzhouyi@gmail.com>2017-07-07 15:11:46 +0800
committerJonathan Corbet <corbet@lwn.net>2017-07-17 14:40:40 -0600
commit14994a9bb4f4f042da9f1195ec76677552801eee (patch)
treeb5dfe56aab9c56d36312a261cf8009f7a70649dc /Documentation/dev-tools
parent4c0477899f2e4a865db070b0526987ca31e525b1 (diff)
downloadlinux-14994a9bb4f4f042da9f1195ec76677552801eee.tar.gz
linux-14994a9bb4f4f042da9f1195ec76677552801eee.tar.bz2
linux-14994a9bb4f4f042da9f1195ec76677552801eee.zip
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. Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/dev-tools')
-rw-r--r--Documentation/dev-tools/kgdb.rst11
1 files changed, 10 insertions, 1 deletions
diff --git a/Documentation/dev-tools/kgdb.rst b/Documentation/dev-tools/kgdb.rst
index 75273203a35a..d38be58f872a 100644
--- a/Documentation/dev-tools/kgdb.rst
+++ b/Documentation/dev-tools/kgdb.rst
@@ -348,6 +348,15 @@ default behavior is always set to 0.
- ``echo 1 > /sys/module/debug_core/parameters/kgdbreboot``
- Enter the debugger on reboot notify.
+Kernel parameter: ``nokaslr``
+-----------------------------
+
+If the architecture that you are using enable KASLR by default,
+you should consider turning it off. KASLR randomizes the
+virtual address where the kernel image is mapped and confuse
+gdb which resolve kernel symbol address from symbol table
+of vmlinux.
+
Using kdb
=========
@@ -358,7 +367,7 @@ This is a quick example of how to use kdb.
1. Configure kgdboc at boot using kernel parameters::
- console=ttyS0,115200 kgdboc=ttyS0,115200
+ console=ttyS0,115200 kgdboc=ttyS0,115200 nokaslr
OR