lkml.org 
[lkml]   [2009]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] Deny CLONE_PARENT|CLONE_NEWPID|CLONE_SIGHAND combination
Oleg Nesterov [oleg@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@us.ibm.com>
| > Acked-by: Roland McGrath <roland@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


\
 
 \ /
  Last update: 2009-07-11 21:41    [W:0.069 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site