From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752697AbdKIRM6 (ORCPT ); Thu, 9 Nov 2017 12:12:58 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:52017 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750726AbdKIRM5 (ORCPT ); Thu, 9 Nov 2017 12:12:57 -0500 Date: Thu, 9 Nov 2017 18:12:47 +0100 (CET) From: Thomas Gleixner To: "Kirill A. Shutemov" cc: Ingo Molnar , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Kees Cook , Ingo Molnar , "H. Peter Anvin" , Nicholas Piggin Subject: Re: [PATCH] x86/mm: Fix ELF_ET_DYN_BASE for 5-level paging In-Reply-To: <20171107103804.47341-1-kirill.shutemov@linux.intel.com> Message-ID: References: <20171107103804.47341-1-kirill.shutemov@linux.intel.com> User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 7 Nov 2017, Kirill A. Shutemov wrote: > On machines with 5-level paging we don't want to allocate mapping above > 47-bit unless user explicitly asked for it. See b569bab78d8d ("x86/mm: > Prepare to expose larger address space to userspace") for details. > > c715b72c1ba4 ("mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base > changes") broke the behaviour. After the commit elf binary and heap got > mapped above 47-bits. > > Let's fix this. That's a really useless sentence..... > Signed-off-by: Kirill A. Shutemov > Fixes: c715b72c1ba4 ("mm: revert x86_64 and arm64 ELF_ET_DYN_BASE base changes") > Cc: Kees Cook > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: Thomas Gleixner > Cc: Nicholas Piggin > --- > arch/x86/include/asm/elf.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/include/asm/elf.h b/arch/x86/include/asm/elf.h > index c1a125e47ff3..3a091cea36c5 100644 > --- a/arch/x86/include/asm/elf.h > +++ b/arch/x86/include/asm/elf.h > @@ -253,7 +253,7 @@ extern int force_personality32; > * space open for things that want to use the area for 32-bit pointers. > */ > #define ELF_ET_DYN_BASE (mmap_is_ia32() ? 0x000400000UL : \ > - (TASK_SIZE / 3 * 2)) > + (DEFAULT_MAP_WINDOW / 3 * 2)) > > /* This yields a mask that user programs can use to figure out what > instruction set this CPU supports. This could be done in user space, > -- > 2.14.2 > >