Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932713AbcLHTAY (ORCPT ); Thu, 8 Dec 2016 14:00:24 -0500 Received: from mx4-phx2.redhat.com ([209.132.183.25]:42621 "EHLO mx4-phx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932478AbcLHTAW (ORCPT ); Thu, 8 Dec 2016 14:00:22 -0500 Date: Thu, 8 Dec 2016 14:00:04 -0500 (EST) From: Dave Anderson To: Kees Cook Cc: Baoquan He , LKML , Thomas Gleixner , "H. Peter Anvin" , Ingo Molnar , x86@kernel.org, Yinghai Lu , Borislav Petkov , Thomas Garnier , Alexander Kuleshov , Andy Lutomirski , Dave Young , Xunlei Pang Message-ID: <1018201061.5338919.1481223604680.JavaMail.zimbra@redhat.com> In-Reply-To: References: <1481183765-4166-1-git-send-email-bhe@redhat.com> Subject: Re: [PATCH 0/2] Determine kernel text mapping size at runtime for x86_64 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.18.17.201] X-Mailer: Zimbra 8.0.6_GA_5922 (ZimbraWebClient - GC54 (Linux)/8.0.6_GA_5922) Thread-Topic: Determine kernel text mapping size at runtime for x86_64 Thread-Index: VDLNihZwwyq9g5g4uWgQ/b2KOdutew== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2224 Lines: 65 ----- Original Message ----- > On Wed, Dec 7, 2016 at 11:56 PM, Baoquan He wrote: > > Dave Anderson ever told in Crash utility he makes judgement whether it's > > a kaslr kernel by size of KERNEL_IMAGE_SIZE. As long as it's 1G, it's > > recognized as kaslr. Then the current upstream kernel has a wrong behaviour, > > it sets KERNEL_IMAGE_SIZE as 1G as long as CONFIG_RANDOMIZE_BASE is enabled, > > though people specify "nokaslr" into cmdline to disable kaslr explicitly. > > I'm not sure that's the correct solution to the Crash utility -- the > kaslr-ness of a kernel should be already exposed in the dump with the > kaslr_enabled variable yes? The crash utility doesn't use KERNEL_IMAGE_SIZE to determine whether KASLR is in play, but rather to determine the base of the modules virtual address space (i.e, the same way the kernel does). And then it uses that value in a couple other places. Dave > > > So in this patchset, made changes to determine the size of kernel text > > mapping > > area at runtime. If "nokaslr" specified, kernel mapping size is 512M though > > CONFIG_RANDOMIZE_BASE is enabled. > > This seems to make the non-KASLR case more consistent, so I'm fine > with the idea. Once the build-bots are happy with everything, consider > the series: > > Acked-by: Kees Cook > > Thanks! > > -Kees > > > > > Baoquan He (2): > > x86/64: Make kernel text mapping always take one whole page table in > > early boot code > > x86/KASLR/64: Determine kernel text mapping size at runtime > > > > arch/x86/boot/compressed/kaslr.c | 15 ++++++++++----- > > arch/x86/include/asm/kaslr.h | 1 + > > arch/x86/include/asm/page_64_types.h | 20 ++++++++++++-------- > > arch/x86/include/asm/pgtable_64_types.h | 2 +- > > arch/x86/kernel/head64.c | 11 ++++++----- > > arch/x86/kernel/head_64.S | 16 +++++++++------- > > arch/x86/mm/dump_pagetables.c | 3 ++- > > arch/x86/mm/init_64.c | 2 +- > > arch/x86/mm/physaddr.c | 6 +++--- > > 9 files changed, 45 insertions(+), 31 deletions(-) > > > > -- > > 2.5.5 > > > > > > -- > Kees Cook > Nexus Security >