Quick question:

> +void set_namespace(unsigned long nstype, void *ns)
> +{
> +     struct task_struct *tsk = current;
> +     struct nsproxy *new_nsproxy;
> +
> +     new_nsproxy = create_new_namespaces(0, tsk, tsk->fs);
> +     switch(nstype) {
> +     case NSTYPE_NET:
> +             put_net(new_nsproxy->net_ns);
> +             new_nsproxy->net_ns = get_net(ns);
> +             break;
> +     }
> +
> +     switch_task_namespaces(tsk, new_nsproxy);
> +}

I assume that, at some future point when more than one namespace type
is supported, there will be a check to ensure that the type of the given
namespace matches nstype?  I can imagine all kinds of mayhem that could
result in the case of an accidental (or intentional) mismatch.

Actually, why does setns() require the nstype parameter at all?  A
namespace fd is certainly going to have to know what sort of namespace
it represents...

Thanks,

jon
_______________________________________________
Containers mailing list
contain...@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
Devel@openvz.org
https://openvz.org/mailman/listinfo/devel

Reply via email to