Re: [PATCH v2 2/2] docs: disable KASLR when debugging kernel

From: Jan Kiszka
Date: Thu Jul 13 2017 - 02:54:19 EST


On 2017-07-07 10:51, Zhouyi Zhou 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.
>
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx>
> Reviewed-by: Kieran Bingham <kbingham@xxxxxxxxxx>
> ---
> Documentation/dev-tools/gdb-kernel-debugging.rst | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/dev-tools/gdb-kernel-debugging.rst b/Documentation/dev-tools/gdb-kernel-debugging.rst
> index 5e93c9b..60fec6d 100644
> --- a/Documentation/dev-tools/gdb-kernel-debugging.rst
> +++ b/Documentation/dev-tools/gdb-kernel-debugging.rst
> @@ -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
>
>

FWIW: Acked-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>

Who's taking this? Jon?

Jan

--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux