Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Aug 2016 09:06:48 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Pedro Giffuni <pfg@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>,  "freebsd-toolchain@FreeBSD.org" <freebsd-toolchain@freebsd.org>
Subject:   Re: Time to enable partial relro
Message-ID:  <CANCZdfrJmYcJHXcXaq0qEiy4qif06SX1LNjUi0g=HG=yp8v4TA@mail.gmail.com>
In-Reply-To: <a9e93c24-9c30-29e4-b949-faa1a7928606@FreeBSD.org>
References:  <b75890eb-d8bd-759e-002f-ab0c16db0975@FreeBSD.org> <20160826105618.GS83214@kib.kiev.ua> <a9e93c24-9c30-29e4-b949-faa1a7928606@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Aug 26, 2016 at 9:00 AM, Pedro Giffuni <pfg@freebsd.org> wrote:
>
>
> On 08/26/16 05:56, Konstantin Belousov wrote:
>>
>> On Thu, Aug 25, 2016 at 05:50:31PM -0500, Pedro Giffuni wrote:
>>>
>>> Hello;
>>>
>>> GNU RELRO support was committed in r230784 (2012-01-30) but we never
>>> enabled it by default.
>>>
>>> There was some discussion about it on
>>> https://reviews.freebsd.org/D3001
>>>
>>> By now, all Linux distributions, NetBSD and DragonFly support it and
>>> it is the default for most systems in binutils 2.27.
>>>
>>> This doesn't affect performance, I ran it through an exp-run last
>>> year, no other OS has had issues etc ... seems safe and can be
>>> disabled if needed when linking.
>>
>> Exp-run does not test anything interesting about relro. If all testing
>> that was done is basically just an exp-run, then there was no useful
>> runtime testing done.
>>
>
> The exp-run does cover Java and other VM-type thingies that bootstrap.
> For upstream binutils this is now the default (at least for linux,
> they never ask us if we want to follow). So the change has been tested
> extensively but perhaps not on cases that are relevant to us.
>
> Note that the "fix" for any port is ultimately trivial:
> LDFLAGS+= "-z norelro"
>
>>>
>>> I think it's time to enable it be default in our base binutils. If
>>> there are no objections, I will just commit the attached patch over
>>> the weekend.
>>
>>
>> There are objections, the change must be runtime tested on large and
>> representative set of real-world applications before turning the knob.
>>
>
> You are not giving any hint on what would be a "representative set of
> real-world applications". Given that you committed the initial support your
> objection stands very high and is a blocker. :(
>
> As I see it committing it now would give ample time to test this in current
> before it hits any release. If you want more extensive testing merging it in
> -stable right after the 11-Release is guaranteed to help
> weed out any remaining update ports may need.

I'd say a minimum is 'buildworld' + a test boot on at least Intel (i386 and
amd64), armv6 and mips (both 32-bit and 64-bit) before we proceed. How
many of those have we done?

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfrJmYcJHXcXaq0qEiy4qif06SX1LNjUi0g=HG=yp8v4TA>