Received: by 10.213.65.68 with SMTP id h4csp595733imn; Fri, 23 Mar 2018 11:11:32 -0700 (PDT) X-Google-Smtp-Source: AG47ELsbmCI+Bw0ONjbg9OpGkztejtB/gvYFRGWO7JBFbVw2dnz63ruVBeeIJvqtFCjlmiGgalYC X-Received: by 10.99.120.196 with SMTP id t187mr22069880pgc.149.1521828692379; Fri, 23 Mar 2018 11:11:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521828692; cv=none; d=google.com; s=arc-20160816; b=arkqAtjVhE3NRPgPr/BpvmSSVqmxqphVcFhI0Gs+tBhcmEws0tYJ4jiXrzmbPlG5sN zpmOTIgTK0qx8BV10UCYyjywKxrBbAC30RSnelTxEqGce+k1xKYYEO9lNo9Vr4JwYH9I NL/2Og44IoBese2XAojFYmQvj0n/pP1ofFbc0LwscKTR7XsAoCBgvex9uSvNFZ5NnUOY 84pecNYkRVIzX2kgMSmGnA8JdFe5tfFIGHUSug5WyxN2suZCuzbu/jZ2OcXZezWgRKKn tZhHYamRoDNEqTMTYq4BiF3Qkk3iDobzeyAT1oixx5Sy6o53Y1o46ak1mzpAl6dLEUQL 25Ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=YH2wridiOIr7SJcRNRRNWocrwBcsJxUyWXsFYm77h1M=; b=y54M7bdKuCTVsWGmFL9p5mwMWlg+oSHy817Okf2u6rh3e+yXGP4/+K/tiXOiiauC5v +zjWSe3sXQf9mV2mz8OPDFxMACPnpUobWYsElMtCF9O31hPF2KT5a5HO5hZeFHoTVEdh 8dEUNHH3en1SfRi6n8Fe6gCZIp+ID8yviuOHvaQ149tqMUbEVkrEPDKavuKk/AtRnhOK s3SIUoJPSY2MNutdEn9ALVJ8d3kmnnv6xM6OlRGbVCGJMSKi+rSQgn99kwqWVQz2SpXm srFdCRZafPbFsktqq7Gmhw+MFWiykOWSXSwsIZOBNHPOjns4aP59UcXNyWmXHWfeyM3/ fNcw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j14si6973956pfn.150.2018.03.23.11.11.17; Fri, 23 Mar 2018 11:11:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752031AbeCWSKY (ORCPT + 99 others); Fri, 23 Mar 2018 14:10:24 -0400 Received: from 216-12-86-13.cv.mvl.ntelos.net ([216.12.86.13]:32952 "EHLO brightrain.aerifal.cx" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751595AbeCWSKW (ORCPT ); Fri, 23 Mar 2018 14:10:22 -0400 Received: from dalias by brightrain.aerifal.cx with local (Exim 3.15 #2) id 1ezQzI-0000XQ-00; Fri, 23 Mar 2018 18:00:24 +0000 Date: Fri, 23 Mar 2018 14:00:24 -0400 From: Rich Felker To: Matthew Wilcox Cc: Ilya Smith , rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com, vgupta@synopsys.com, linux@armlinux.org.uk, tony.luck@intel.com, fenghua.yu@intel.com, jhogan@kernel.org, ralf@linux-mips.org, jejb@parisc-linux.org, deller@gmx.de, benh@kernel.crashing.org, paulus@samba.org, mpe@ellerman.id.au, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, ysato@users.sourceforge.jp, davem@davemloft.net, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, nyc@holomorphy.com, viro@zeniv.linux.org.uk, arnd@arndb.de, gregkh@linuxfoundation.org, deepa.kernel@gmail.com, mhocko@suse.com, hughd@google.com, kstewart@linuxfoundation.org, pombredanne@nexb.com, akpm@linux-foundation.org, steve.capper@arm.com, punit.agrawal@arm.com, paul.burton@mips.com, aneesh.kumar@linux.vnet.ibm.com, npiggin@gmail.com, keescook@chromium.org, bhsharma@redhat.com, riel@redhat.com, nitin.m.gupta@oracle.com, kirill.shutemov@linux.intel.com, dan.j.williams@intel.com, jack@suse.cz, ross.zwisler@linux.intel.com, jglisse@redhat.com, aarcange@redhat.com, oleg@redhat.com, linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, linux-metag@vger.kernel.org, linux-mips@linux-mips.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-mm@kvack.org Subject: Re: [RFC PATCH v2 0/2] Randomization of address chosen by mmap. Message-ID: <20180323180024.GB1436@brightrain.aerifal.cx> References: <1521736598-12812-1-git-send-email-blackzert@gmail.com> <20180323124806.GA5624@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180323124806.GA5624@bombadil.infradead.org> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 23, 2018 at 05:48:06AM -0700, Matthew Wilcox wrote: > On Thu, Mar 22, 2018 at 07:36:36PM +0300, Ilya Smith wrote: > > Current implementation doesn't randomize address returned by mmap. > > All the entropy ends with choosing mmap_base_addr at the process > > creation. After that mmap build very predictable layout of address > > space. It allows to bypass ASLR in many cases. This patch make > > randomization of address on any mmap call. > > Why should this be done in the kernel rather than libc? libc is perfectly > capable of specifying random numbers in the first argument of mmap. Generally libc does not have a view of the current vm maps, and thus in passing "random numbers", they would have to be uniform across the whole vm space and thus non-uniform once the kernel rounds up to avoid existing mappings. Also this would impose requirements that libc be aware of the kernel's use of the virtual address space and what's available to userspace -- for example, on 32-bit archs whether 2GB, 3GB, or full 4GB (for 32-bit-user-on-64-bit-kernel) is available, and on 64-bit archs where fewer than the full 64 bits are actually valid in addresses, what the actual usable pointer size is. There is currently no clean way of conveying this information to userspace. Rich