[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1249220996.3638.0.camel@wing-commander>
Date: Sun, 02 Aug 2009 14:49:56 +0100
From: Scott James Remnant <scott@...ntu.com>
To: Neil Horman <nhorman@...driver.com>
Cc: linux-kernel@...r.kernel.org, akpm@...ux-foundation.org,
earl_chew@...lent.com
Subject: Re: [PATCH] exec: Make do_coredump more robust and safer when
using pipes in core_pattern
On Sat, 2009-08-01 at 20:22 -0400, Neil Horman wrote:
> On Sat, Aug 01, 2009 at 07:28:52PM +0100, Scott James Remnant wrote:
> > On Sat, 2009-08-01 at 09:41 -0400, Neil Horman wrote:
> >
> > > > > Not without additional work. If init crashed in the initramfs, I don't think
> > > > > theres a way to handle that. If it crashes at some later time, I think it just
> > > > > gets restarted IIRC. I'm sure you can change that behavior, but this patch
> > > > > doesn't address that.
> > > > >
> > > > When the system init daemon crashes, the kernel PANICs. When not using
> > > > core_pattern, this is ok, we get a core file - when using apport, as far
> > > > as I can tell it never waits for apport to finish so we don't get the
> > > > crash.
> > > >
> > > This is non-sensical. If init crashes, and the kernel panics, you'll only get a
> > > core by sheer luck and good fortune.
> > >
> > Or by being a bit clever. Upstart catches the SIGSEGV and the signal
> > handler forks a child process, unmasking the signal in that child
> > process with no signal handler installed.
> >
> I don't see how this works. How is upstart (which by definition is a child of
> init (pid 1)) going to catch a SIGSEGV from its parent? How would any process
> catch a signal targeted to its parent?
>
Upstart *is* /sbin/init (pid 1)
Scott
--
Scott James Remnant
scott@...ntu.com
Download attachment "signature.asc" of type "application/pgp-signature" (198 bytes)
Powered by blists - more mailing lists