Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752363AbdGGIci (ORCPT ); Fri, 7 Jul 2017 04:32:38 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:34521 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750895AbdGGIcf (ORCPT ); Fri, 7 Jul 2017 04:32:35 -0400 MIME-Version: 1.0 In-Reply-To: <4190c137-421a-a24b-d7aa-f31349ad8776@kernel.org> References: <1499411646-29620-1-git-send-email-zhouzhouyi@gmail.com> <4190c137-421a-a24b-d7aa-f31349ad8776@kernel.org> From: Zhouyi Zhou Date: Fri, 7 Jul 2017 16:32:34 +0800 Message-ID: Subject: Re: [PATCH 2/2] docs: disable KASLR when debugging kernel To: Kieran Bingham Cc: Jonathan Corbet , "J. Kiszka" , Kieran Bingham , akpm@linux-foundation.org, linux-doc@vger.kernel.org, "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1978 Lines: 52 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 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 >> --- >> 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 > > >> 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