2017-07-07 07:12:13

by Zhouyi Zhou

[permalink] [raw]
Subject: [PATCH 2/1] 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 <[email protected]>
---
Documentation/dev-tools/kgdb.rst | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/Documentation/dev-tools/kgdb.rst b/Documentation/dev-tools/kgdb.rst
index 7527320..3a051f0 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

--
1.9.1


2017-07-17 20:49:44

by Jonathan Corbet

[permalink] [raw]
Subject: Re: [PATCH 2/1] docs: disable KASLR when debugging kernel

On Fri, 7 Jul 2017 15:11:46 +0800
Zhouyi Zhou <[email protected]> wrote:

> 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.

These two patches have been applied to the docs tree.

Thanks,

jon