Le 30/10/2014 19:35, Eric W. Biederman a écrit :
Nicolas Dichtel <[email protected]> writes:

With this patch, a user can define an id for a peer netns by providing a FD or a
PID. These ids are local to netns (ie valid only into one netns).

Scratches head.  Do you actually find value in using the pid instead of
a file descriptor?
I copied the mechanism from rtnl_link_get_net():
First check if the user provides a PID, if not, check for a FD.


Doing things by pid was an early attempt to make things work, and has
been a bit clutsy.  If you don't find value in it I would recommend just
supporting getting/setting the network namespace by file descriptor.
Hmm, if I understand well, it's what is done in the patch:

[snip]
+static int netns_nl_cmd_newid(struct sk_buff *skb, struct genl_info *info)
+{
[snip]
+       if (info->attrs[NETNSA_PID])
+               peer = get_net_ns_by_pid(nla_get_u32(info->attrs[NETNSA_PID]));
+       else if (info->attrs[NETNSA_FD])
+               peer = get_net_ns_by_fd(nla_get_u32(info->attrs[NETNSA_FD]));
+       else
+               return -EINVAL;
+       if (IS_ERR(peer))
+               return PTR_ERR(peer);

Am I right?


Regards,
Nicolas
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to