Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux? - Mailing list pgsql-hackers

From Thomas Munro
Subject Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?
Date
Msg-id CA+hUKGJiuKXXfwO=Y9H6eyJBzVciYnjr9hSA_1-0iDJtkvx-sQ@mail.gmail.com
Whole thread Raw
In response to Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?  (Thomas Munro <thomas.munro@gmail.com>)
Responses Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?
Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?
List pgsql-hackers
On Wed, Aug 11, 2021 at 7:07 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Wed, Aug 11, 2021 at 2:12 AM Andres Freund <andres@anarazel.de> wrote:
> > On Tue, Aug 10, 2021, at 15:19, Thomas Munro wrote:
> > > Yeah, make check always fails for me on macOS 11.  With the attached
> > > experimental hack, it fails only occasionally (1 in 8 runs or so).  I
> > > don't know why.
> >
> > I suspect you'd need to use the hack in pg_ctl to make it reliable. The layout of normally stayed position
independentpostmaster can be incompatible with the non ASLR spawned child.
 
>
> Yeah, but the patch already changes both pg_ctl.c and postmaster.c.

/me stares at vmmap output for a while

Oooh. It's working perfectly (for example if you export
PATH=binarys:$PATH, pg_ctl -D pgdata start, make installcheck), but
pg_regress.c has its own separate fork/exec to launch the temporary
cluster that needs to be similarly hacked.  Unfortunately I have to
give this Macintosh back and go and do some real work on a different
computer now.  That does seem to be a working solution to the problem,
though, and could be polished into proposable form.

I saw claims that you can also link with -Wl,-no_pie or toggle the PIE
bit on your executable and libraries, but that didn't work for me on
11, Intel (no effect) or ARM (linker option gone).



pgsql-hackers by date:

Previous
From: Tomas Vondra
Date:
Subject: Re: Use extended statistics to estimate (Var op Var) clauses
Next
From: Michael Paquier
Date:
Subject: Re: ECPG bug fix: DECALRE STATEMENT and DEALLOCATE, DESCRIBE