Re: git: 930a7c2ac67e - main - compiler-rt: re-exec with ASLR disabled when necessary

From: Ed Maste <emaste_at_freebsd.org>
Date: Wed, 09 Feb 2022 02:43:07 UTC
On Tue, 8 Feb 2022 at 17:30, Kubilay Kocak <koobs@freebsd.org> wrote:
>
> On 5/02/2022 3:20 am, Ed Maste wrote:
> > The branch main has been updated by emaste:
> >
> > URL: https://cgit.FreeBSD.org/src/commit/?id=930a7c2ac67e1e8e511aa1d0a31a16c632060ebb
> >
> > commit 930a7c2ac67e1e8e511aa1d0a31a16c632060ebb
> > Author:     Ed Maste <emaste@FreeBSD.org>
> > AuthorDate: 2022-01-16 19:22:05 +0000
> > Commit:     Ed Maste <emaste@FreeBSD.org>
> > CommitDate: 2022-02-04 16:20:00 +0000
> >
> >      compiler-rt: re-exec with ASLR disabled when necessary
>
> Could we sysctl tunable this, defaulting to previous behaviour?

This is entirely userland, so an environment variable is probably the
appropriate way to control it. In fact there is already an
ASAN_OPTIONS variable and hooking into that is likely appropriate.

> Feels useful, particularly with respect to compatibility with *San
> behaviour elsewhere and cases where a re-exec may not be desirable

I'm not sure what you mean by "*San behaviour elsewhere" - where
necessary Linux already has the behaviour implemented here. We just
did not have a working re-exec routine implemented originally.

In any case the eventual fix here is to address the underlying failure
in the sanitizers with ASLR enabled, and remove both the ASLR
detection and re-exec. I have no timeline for work on that, though.