[Devel] Re: [RFC][PATCH] Deny CLONE_PARENT|CLONE_NEWPID|CLONE_SIGHAND combination
Sukadev Bhattiprolu
sukadev at linux.vnet.ibm.com
Sat Jul 11 12:39:44 PDT 2009
Oleg Nesterov [oleg at redhat.com] wrote:
| On 07/01, Sukadev Bhattiprolu wrote:
| >
| > Deny CLONE_PARENT|CLONE_NEWPID|CLONE_SIGHAND combination.
| >
| > CLONE_PARENT was used to implement an older threading model. For consistency
| > with the CLONE_THREAD check in copy_pid_ns(), disable CLONE_PARENT and
| > CLONE_SIGHAND with CLONE_NEWPID, at least until the required semantics of
| > the pid namespaces are clear.
| >
| > Changelog[v2]:
| > [Eric Biederman] Disable CLONE_SIGHAND also ???
| >
| > Signed-off-by: Sukadev Bhattiprolu <sukadev at us.ibm.com>
| > Acked-by: Roland McGrath <roland at redhat.com>
| > ---
| > kernel/pid_namespace.c | 2 +-
| > 1 file changed, 1 insertion(+), 1 deletion(-)
| >
| > Index: linux-mmotm/kernel/pid_namespace.c
| > ===================================================================
| > --- linux-mmotm.orig/kernel/pid_namespace.c 2009-06-30 23:01:09.000000000 -0700
| > +++ linux-mmotm/kernel/pid_namespace.c 2009-06-30 23:49:06.000000000 -0700
| > @@ -118,7 +118,7 @@ struct pid_namespace *copy_pid_ns(unsign
| > {
| > if (!(flags & CLONE_NEWPID))
| > return get_pid_ns(old_ns);
| > - if (flags & CLONE_THREAD)
| > + if (flags & (CLONE_THREAD|CLONE_PARENT|CLONE_SIGHAND))
| > return ERR_PTR(-EINVAL);
|
| Still can't understand why CLONE_SIGHAND is forbidden...
|
| CLONE_SIGHAND doesn't mean we share the signal queue, so what is
| the reason?
I don't have a convincing reason. We could disable just the
CLONE_NEWPID|CLONE_PARENT combination till we have a need for it. We
talked about removing CLONE_PARENT but backed-off since some application
may be using it. Disabling specific combinations like this (CLONE_NEWPID is
relatively a new flag) could make it a little easier to remove CLONE_PARENT
in the future.
Sukadev
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list