Messages in this thread | | | Subject | Re: [PATCH 2/2] docs: disable KASLR when debugging kernel | From | Kieran Bingham <> | Date | Fri, 7 Jul 2017 09:05:29 +0100 |
| |
Hi Zhouyi
Thankyou for the patch,
On 07/07/17 08:14, 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. Yes, this is something I had come across and certainly should be documented.
> Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com> > --- > 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..fe2edcc 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 by adding "nokaslr" to > + the kernel command line . Is KASLR available on *all* supported architectures?
If not, then perhaps this should be "turn off KASLR if necessary by ..." But I don't think that's a big deal really.
Reviewed-by: Kieran Bingham <kbingham@kernel.org>
> 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. > > - Enable the gdb stub of QEMU/KVM, either >
-- Kieran
| |