Re: [PATCH -mm 1/5] New system call, unshare

From: Al Viro
Date: Fri Dec 09 2005 - 07:02:20 EST


On Fri, Dec 09, 2005 at 11:55:02AM +0100, Ingo Molnar wrote:
>
> * JANAK DESAI <janak@xxxxxxxxxx> wrote:
>
> > [PATCH -mm 1/5] unshare system call: System call handler function
> > sys_unshare
>
> >+ if (unshare_flags & ~(CLONE_NEWNS | CLONE_VM))
> >+ goto errout;
>
> just curious, did you consider all the other CLONE_* flags as well, to
> see whether it makes sense to add unshare support for them?

IMO the right thing to do is
* accept *all* flags from the very beginning
* check constraints ("CLONE_NEWNS must be accompanied by CLONE_FS")
and either -EINVAL if they are not satisfied or silently force them.
* for each unimplemented flag check if we corresponding thing
is shared; -EINVAL otherwise.

Then for each flag we care to implement we should replace such check with
actual unsharing - a patch per flag.

CLONE_FS and CLONE_FILES are *definitely* worth implementing and are
trivial to implement. The only thing we must take care of is doing
all replacements under task_lock, without dropping it between updates.
I would say that CLONE_SIGHAND is also an obvious candidate for adding.
-
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/