[RFC][PATCH] Deny CLONE_PARENT|CLONE_NEWPID|CLONE_SIGHAND combination

Oleg Nesterov oleg at redhat.com
Thu Jul 2 04:57:40 PDT 2009


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?

Oleg.



More information about the Containers mailing list