Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Apr 2006 01:23:59 -0300 (ADT)
From:      "Marc G. Fournier" <scrappy@postgresql.org>
To:        Andrew Thompson <thompsa@freebsd.org>
Cc:        freebsd-stable@freebsd.org, Kris Kennaway <kris@obsecurity.org>
Subject:   Re: [HACKERS] semaphore usage "port based"?
Message-ID:  <20060403011401.I947@ganymede.hub.org>
In-Reply-To: <20060403035911.GA76193@heff.fud.org.nz>
References:  <20060402231232.C947@ganymede.hub.org> <27148.1144030940@sss.pgh.pa.us> <20060402232832.M947@ganymede.hub.org> <20060402234459.Y947@ganymede.hub.org> <27417.1144033691@sss.pgh.pa.us> <20060403031157.GA57914@xor.obsecurity.org> <27515.1144034269@sss.pgh.pa.us> <20060403032130.GA58053@xor.obsecurity.org> <20060403002830.W947@ganymede.hub.org> <20060403034101.GA58429@xor.obsecurity.org> <20060403035911.GA76193@heff.fud.org.nz>

next in thread | previous in thread | raw e-mail | index | archive | help

taking it off of pgsql-hackers, so that we don't annoy them unnecessarily 
...

'k, looking at the code, not that most of it doesn't go over my head ... 
but ...

in kern/kern_jail.c, I can see the prison_check() call ... wouldn't one 
want to make the change a bit further up?  say in kern_prot.c?  wouldn't 
you want to change just cr_cansignal() to allow *just* for 'case 0', when 
someone is just checking to see if a process is already running?  I 
wouldn't want to be able to SIGKILL the process from a different jail, 
mind you ... maybe move the check for SIG0 to just before the 
prison_check, since, unless I'm missing something, other then determining 
that a process is, in fact, running, SIG0 is a benign signal?

On Mon, 3 Apr 2006, Andrew Thompson wrote:

> On Sun, Apr 02, 2006 at 11:41:01PM -0400, Kris Kennaway wrote:
>> On Mon, Apr 03, 2006 at 12:30:58AM -0300, Marc G. Fournier wrote:
>>> 'k, but how do I fix kill so that it has the proper behaviour if SysV is
>>> enabled?
>>
>> Check the source, perhaps there's already a way.  If not, talk to
>> whoever made the change.
>>
>>> Maybe a mount option for procfs that allows for pre-5.x
>>> behaviour?
>>
>> procfs has nothing to do with this though.
>>
>>> I'm not the first one to point out that this is a problem, just
>>> the first to follow it through to the cause ;(  And I believe there is
>>> more then just PostgreSQL that is affected by shared memory (ie. apache2
>>> needs SysV IPC enabled, so anyone doing that in a jail has it enabled
>>> also) ...
>>
>> Also note that SysV IPC is not the problem here, it's the change in
>> the behaviour of kill() that is causing postgresql to become confused.
>> That's what you should investigate.
>
> The ESRCH error is being returned from prison_check(), that would be a
> good starting place.
>
>
> Andrew
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
>
>

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org           Yahoo!: yscrappy              ICQ: 7615664



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060403011401.I947>