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

From: Zhouyi Zhou
Date: Fri Jul 07 2017 - 04:32:46 EST


Hi Kieran,
Thanks for your review and invaluable advise, I will prepare a new
version immediately.

On Fri, Jul 7, 2017 at 4:05 PM, Kieran Bingham <kbingham@xxxxxxxxxx> wrote:
> 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@xxxxxxxxx>
>> ---
>> 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@xxxxxxxxxx>
>
>
>> 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