Re: Worth using personality(ADDR_NO_RANDOMIZE) for EXEC_BACKEND on linux?

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, Andres Freund <andres@anarazel.de>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Andrew Dunstan <andrew@dunslane.net>, PostgreSQL Development <pgsql-hackers@postgresql.org>
Date: 2021-08-12T21:59:38Z
Lists: pgsql-hackers
Thomas Munro <thomas.munro@gmail.com> writes:
> On Fri, Aug 13, 2021 at 3:13 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I don't see why that approach couldn't be incorporated into pg_ctl,
>> or the postmaster itself.  Given Andres' point that Linux ASLR
>> disable probably has to happen in pg_ctl, it seems like doing it
>> in pg_ctl in all cases is the way to move forward.

> I think doing it in the postmaster is best, since otherwise you have
> to put code into pg_regress.c and pg_ctl.c.  Here's a patch like that.

Hmm, ok.  Small thought: it might be better to put the #if inside
the "else { .... }".  That way it scales easily to allow other
platform-specific defaults if we find anything useful.  As-is,
the obvious extension would end up with multiple else-blocks,
which seems likely to confuse pgindent if nothing else.

			regards, tom lane



Commits

  1. Make EXEC_BACKEND more convenient on Linux and FreeBSD.

  2. Make EXEC_BACKEND more convenient on macOS.