Re: [Bug #13107] LTP 20080131 causes defunct processes w/2.6.30-rc1

Oleg Nesterov
2009-05-18T14:41:32Z

Sorry for delay, I had a vacation.

On 05/17, Linus Torvalds wrote:
>
> On Sat, 16 May 2009, Rafael J. Wysocki wrote:
> >
> > This message has been generated automatically as a part of a report
> > of recent regressions.
> >
> > The following bug entry is on the current list of known regressions
> > from 2.6.29. Please verify if it still should be listed and let me know
> > (either way).
> >
> >
> > Bug-Entry : http://bugzilla.kernel.org/show_bug.cgi?id=13107
> > Subject : LTP 20080131 causes defunct processes w/2.6.30-rc1
> > Submitter : Kumar Gala <galak-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
> > Date : 2009-04-09 15:43 (38 days old)
> > First-Bad-Commit: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3bfa0cba867f23365b81658b47efd906830879b
> > References : http://marc.info/?l=linux-kernel&m=123929187208953&w=4
> > http://lkml.org/lkml/2009/4/10/193
> > Handled-By : Sukadev Bhattiprolu <sukadev-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8@public.gmane.org>
>
> I think we have to revert that thing. I haven't heard of any fixes to that
> commit.

I thought this was already resolved.

And I don't think the kernel is buggy, this is expected behaviour. With
this commit (actually, there were several patches) /sbin/init respects
SIGSTOP if the caller has rights to send it, this change is intentional.
I'd even say this is fix.

Note that even root can't stop init, SIGSTOP should be sent from the
parent namespace, or from ptracer. And ptracer could obviously ptrace_stop()
init even before this patch.

But, Kumar, could you please provide more info? I downloaded
ltp-full-20081130.tgz, and I see that ptrace03.c does:

/* since Linux 2.6.26, it's allowed to trace init,
so just skip this test case */
if (i == 0 && tst_kvercmp(2,6,25) > 0) {
tst_resm(TCONF,
"this kernel allows to trace init");
continue;
}

So, could you explain which test traces init?

Oleg.