Re: A note about testing EXEC_BACKEND on recent Linuxen

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: A note about testing EXEC_BACKEND on recent Linuxen
Date: 2006-02-01 19:38:08
Message-ID: 3803.1138822688@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:
> Hmm, are there no other ways that this problem can manifest itself?
> ISTM that we're relying completely on the kernel to map it in the same
> place each time. Maybe one day someone changes the startup procedure to
> allocate some more memory and it gets mapped somewhere else.

In the normal non-EXEC_BACKEND scenario, there's no issue, so I see no
great need to worry about this unduly.

> A better solution would be to explicitly map it in the child processes.
> Basically, store the shared memory base at the beginning of the shared
> memory block. Then when the child maps it it can verify the location.
> It if doesn't match, unmap and remap at the right place.

That is utterly irrelevant to the problem, unfortunately; the shmat
request already specifies where we need to map it, and the problem
arises when that bit of address space is already taken in the child
process.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2006-02-01 19:39:30 Re: A note about testing EXEC_BACKEND on recent Linuxen
Previous Message Martijn van Oosterhout 2006-02-01 19:32:21 Re: A note about testing EXEC_BACKEND on recent Linuxen