From patchwork Wed Jun 19 05:08:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Ghiti X-Patchwork-Id: 1118466 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=sparclinux-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=ghiti.fr Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 45TCfn3m5Fz9s6w for ; Wed, 19 Jun 2019 15:09:21 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729042AbfFSFJR (ORCPT ); Wed, 19 Jun 2019 01:09:17 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:39163 "EHLO relay7-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726195AbfFSFJR (ORCPT ); Wed, 19 Jun 2019 01:09:17 -0400 X-Originating-IP: 79.86.19.127 Received: from alex.numericable.fr (127.19.86.79.rev.sfr.net [79.86.19.127]) (Authenticated sender: alex@ghiti.fr) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id C3AB120006; Wed, 19 Jun 2019 05:08:57 +0000 (UTC) From: Alexandre Ghiti To: Andrew Morton Cc: "James E . J . Bottomley" , Helge Deller , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Yoshinori Sato , Rich Felker , "David S . Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , "H . Peter Anvin" , x86@kernel.org, Dave Hansen , Andy Lutomirski , Peter Zijlstra , linux-parisc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-mm@kvack.org, Alexandre Ghiti Subject: [PATCH 0/8] Fix mmap base in bottom-up mmap Date: Wed, 19 Jun 2019 01:08:36 -0400 Message-Id: <20190619050844.5294-1-alex@ghiti.fr> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org This series fixes the fallback of the top-down mmap: in case of failure, a bottom-up scheme can be tried as a last resort between the top-down mmap base and the stack, hoping for a large unused stack limit. Lots of architectures and even mm code start this fallback at TASK_UNMAPPED_BASE, which is useless since the top-down scheme already failed on the whole address space: instead, simply use mmap_base. Along the way, it allows to get rid of of mmap_legacy_base and mmap_compat_legacy_base from mm_struct. Note that arm and mips already implement this behaviour. Alexandre Ghiti (8): s390: Start fallback of top-down mmap at mm->mmap_base sh: Start fallback of top-down mmap at mm->mmap_base sparc: Start fallback of top-down mmap at mm->mmap_base x86, hugetlbpage: Start fallback of top-down mmap at mm->mmap_base mm: Start fallback top-down mmap at mm->mmap_base parisc: Use mmap_base, not mmap_legacy_base, as low_limit for bottom-up mmap x86: Use mmap_*base, not mmap_*legacy_base, as low_limit for bottom-up mmap mm: Remove mmap_legacy_base and mmap_compat_legacy_code fields from mm_struct arch/parisc/kernel/sys_parisc.c | 8 +++----- arch/s390/mm/mmap.c | 2 +- arch/sh/mm/mmap.c | 2 +- arch/sparc/kernel/sys_sparc_64.c | 2 +- arch/sparc/mm/hugetlbpage.c | 2 +- arch/x86/include/asm/elf.h | 2 +- arch/x86/kernel/sys_x86_64.c | 4 ++-- arch/x86/mm/hugetlbpage.c | 7 ++++--- arch/x86/mm/mmap.c | 20 +++++++++----------- include/linux/mm_types.h | 2 -- mm/debug.c | 4 ++-- mm/mmap.c | 2 +- 12 files changed, 26 insertions(+), 31 deletions(-)