[RFC][PATCH 4/5] Protect cinit from fatal signals

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Thu Dec 4 10:58:30 PST 2008


Bastian Blank [bastian at waldi.eu.org] wrote:
| > Secondly, a poorly written container-inits can take the entire container down,
| > So we expect that container-inits to handle/ignore all signals rather than
| > SIG_DFL them. Current global inits do that today and container-inits should
| > too. It does not look like an unreasonable requirement.
| 
| So you intend to workaround tools which are used as container-init but
| does not qualify for this work. Why?

Sorry, but I don't understand the "does not qualify for this work" part.
Can you please rephrase ?

| 
| > So the basic requirements are:
| > 
| > 	- container-init receives/processes all signals from ancestor namespace.
| > 	- container-init ignores fatal signals from own namespace.
| > 
| > We are simplifying the first to say that:
| > 
| > 	- parent-ns must have a way to terminate container-init
| > 	- cinit will ignore SIG_DFL signals that may terminate cinit even if
| > 	  they come from parent ns
| 
| This is no simplification. This are more constraints.

Yes cinit ignoring SIG_DFL exit signals from parent-ns is a constraint.
So if we run say sshd as container-init, we can't use SIGINT to
terminate it, but need SIGKILL 

The question is whether this constraint makes any serious/real cinits
unusable ?

The behavior at present is that cinits can be terminated from within
and cinits cannot do anything in user-space. With this incremental
step at least user space has an option of ignoring such signals.

Sukadev


More information about the Containers mailing list