Re: [PATCH] ptrace: it is fun to strace /sbin/init

From: Oleg Nesterov
Date: Mon Mar 24 2008 - 12:36:56 EST


On 03/24, Pavel Machek wrote:
>
> > Ptracing of /sbin/init is not allowed. Of course, this is dangerous, but may
> > be useful. Introduce the kernel boot parameter to allow this, so that we can't
> > surprise some special/secured systems.
> >
> > Afaics, with the recent changes there is no kernel problems with ptracing init,
> > it can't lose SIGNAL_UNKILLABLE flag and be killed by accident. However, admin
> > should know what it does, "gdb /sbin/init 1" stops init, it can't
> > reap zombies
>
> It can't be killed, but you can stop it and not ever restart it. From
> that point on, zombies will accumulate until we OOM, right?

Right (only re-parented ones and init's childs but still right),

> > @@ -803,6 +803,8 @@ and is between 256 and 4096 characters.
> > Run specified binary instead of /sbin/init as init
> > process.
> >
> > + init_ptrace [KNL] Allows to ptrace init.
> > +
>
> No words about it being dangerous, but I believe it is.

it is, admin should know what he does,

> If it is not, lets do the patch, but not optional.

This will change the default historical behaviour, I can't predict
does this matter for (say) SELinux or not. Otherwise I'd personally
prefer to always allow to ptrace init.

> If it is dangerous, option does not make it better.

ptrace() is always dangerous. ptracer can crash oracle and lose data.

/sbin/init is important, but there are other important (and sometimes
much more important) services. Why it is so special so that we can't
debug/strace it?

(how many times did you try to figure out why init does _not_ work
as expected ?)

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/