From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw0-f200.google.com (mail-yw0-f200.google.com [209.85.161.200]) by kanga.kvack.org (Postfix) with ESMTP id A64276B025F for ; Mon, 7 Aug 2017 15:16:03 -0400 (EDT) Received: by mail-yw0-f200.google.com with SMTP id n83so18546213ywn.10 for ; Mon, 07 Aug 2017 12:16:03 -0700 (PDT) Received: from mail-yw0-x22f.google.com (mail-yw0-x22f.google.com. [2607:f8b0:4002:c05::22f]) by mx.google.com with ESMTPS id l127si1838105ywg.306.2017.08.07.12.16.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 07 Aug 2017 12:16:02 -0700 (PDT) Received: by mail-yw0-x22f.google.com with SMTP id p68so8658778ywg.0 for ; Mon, 07 Aug 2017 12:16:02 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: References: <1502131739.1803.12.camel@gmail.com> From: Kostya Serebryany Date: Mon, 7 Aug 2017 12:16:01 -0700 Message-ID: Subject: Re: binfmt_elf: use ELF_ET_DYN_BASE only for PIE breaks asan Content-Type: multipart/alternative; boundary="94eb2c05e1467891b305562ead56" Sender: owner-linux-mm@kvack.org List-ID: To: Kees Cook Cc: Daniel Micay , Dmitry Vyukov , Michal Hocko , Andrew Morton , "linux-mm@kvack.org" , Rik van Riel , Reid Kleckner , Peter Collingbourne , Evgeniy Stepanov --94eb2c05e1467891b305562ead56 Content-Type: text/plain; charset="UTF-8" On Mon, Aug 7, 2017 at 12:12 PM, Kees Cook wrote: > On Mon, Aug 7, 2017 at 12:05 PM, Kostya Serebryany wrote: > > > > > > On Mon, Aug 7, 2017 at 11:59 AM, Kees Cook wrote: > >> > >> On Mon, Aug 7, 2017 at 11:56 AM, Kostya Serebryany > wrote: > >> > Is it possible to implement some userspace<=>kernel interface that > will > >> > allow applications (sanitizers) > >> > to request *fixed* address ranges from the kernel at startup (so that > >> > the > >> > kernel couldn't refuse)? > >> > >> Wouldn't building non-PIE accomplish this? > > > > > > Well, many asan users do need PIE. > > Then, non-PIE only applies to the main executable, all DSOs are still > > PIC and the old change that moved DSOs from 0x7fff to 0x5555 caused us > quite > > a bit of trouble too, even w/o PIE > > Hm? You can build non-PIE executables leaving all the DSOs PIC. > Yes, but this won't help if the users actually want PIE executables. > > If what you want is to entirely disable userspace ASLR under *San, you > can just set the ADDR_NO_RANDOMIZE personality flag. > Mmm. How? Could you please elaborate? Do you suggest to call personality(ADDR_NO_RANDOMIZE) and re-execute the process? Or can I somehow set ADDR_NO_RANDOMIZE at link time? > > -Kees > > -- > Kees Cook > Pixel Security > --94eb2c05e1467891b305562ead56 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Mon, Aug 7, 2017 at 12:12 PM, Kees Cook <keescook@google.com&= gt; wrote:
On Mon, Aug 7, 2017 at 12:05 PM, Kostya Serebryany <<= a href=3D"mailto:kcc@google.com">kcc@google.com> wrote:
>
>
> On Mon, Aug 7, 2017 at 11:59 AM, Kees Cook <keescook@google.com> wrote:
>>
>> On Mon, Aug 7, 2017 at 11:56 AM, Kostya Serebryany <kcc@google.com> wrote:
>> > Is it possible to implement some userspace<=3D>kernel i= nterface that will
>> > allow applications (sanitizers)
>> > to request *fixed* address ranges from the kernel at startup = (so that
>> > the
>> > kernel couldn't refuse)?
>>
>> Wouldn't building non-PIE accomplish this?
>
>
> Well, many asan users do need PIE.
> Then, non-PIE only applies to the main executable, all DSOs are still<= br> > PIC and the old change that moved DSOs from 0x7fff to 0x5555 caused us= quite
> a bit of trouble too, even w/o PIE

Hm? You can build non-PIE executables leaving all the DSOs PIC.
<= /blockquote>

Yes, but this won't help if the users a= ctually want PIE executables.=C2=A0
=C2=A0

If what you want is to entirely disable userspace ASLR under *San, you
can just set the ADDR_NO_RANDOMIZE personality flag.
<= br>
Mmm. How? Could you please elaborate?=C2=A0
Do you sugge= st to call personality(ADDR_NO_RANDOMIZE) and re-execute the process?=C2=A0=
Or can I somehow set ADDR_NO_RANDOMIZE at = link time?=C2=A0
=C2=A0

-Kees

--
Kees Cook
Pixel Security

--94eb2c05e1467891b305562ead56-- -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org