Re: SHM ids (was running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2)

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alex Pilosov <alex(at)pilosoft(dot)com>
Cc: Dave VanAuken <dave(at)hawk-systems(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: SHM ids (was running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2)
Date: 2001-01-05 23:44:41
Message-ID: 15339.978738281@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-general pgsql-hackers

I said:
> Alex Pilosov <alex(at)pilosoft(dot)com> writes:
>> I'd suggest you do this: add a global backend_shmid_offset in ipc.c,
>> initialized to current default, and an option to postgres to put a value
>> there.

> Don't waste your time. This issue is gone in current sources. See
> IpcMemoryCreate and IpcSemaphoreCreate in src/backend/storage/ipc/ipc.c.

Actually, now that I think about it, you might still have a problem if
a "jail" is what I think it is. The current code will step past an
existing shmem segment if it appears to be a non-Postgres memory segment
or if it appears to belong to another running postmaster. However, the
test to see if the segment owner appears to be alive is

/*
* If the creator PID is my own PID or does not belong to any
* extant process, it's safe to zap it.
*/
if (hdr->creatorPID != getpid())
{
if (kill(hdr->creatorPID, 0) == 0 ||
errno != ESRCH)
{
// segment belongs to a live postmaster, so continue
}
}

So the question for you is, what will happen if kill() is given a PID
belonging to a process that's in a different "jail"? Will it return
some kind of permission failure, or will it claim that there is no
such PID (ie, return ESRCH)? If the latter, we still have a problem ...

regards, tom lane

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Alfonso Peniche 2001-01-06 00:18:48 ODBC 7.x for windows
Previous Message Alex Pilosov 2001-01-05 23:06:55 Re: SHM ids (was running pgsql 7 under Jail'ed virtual machine on FreeBSD 4.2)

Browse pgsql-general by date

  From Date Subject
Next Message Alfonso Peniche 2001-01-06 00:18:48 ODBC 7.x for windows
Previous Message Tom Lane 2001-01-05 23:14:15 Re: pg_dump return status..

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-01-05 23:49:04 Re: Re: Beta2 ... ?
Previous Message Lamar Owen 2001-01-05 23:35:43 Re: Re: Beta2 ... ?