On Thu, Dec 19, 2013 at 03:33:22PM -0600, Serge Hallyn wrote:
> If unprivileged users are using a veth nic, then ifindex is still 0
> at lxc_assign_network() (because lxc_create_network() was skipped).
> So check for that case before we use lxc->ifindex to decide if we
> have an empty network namespace.
> 
> We probably should change the !netdev->ifindex check to a
> netdev->type == LXC_NET_EMPTY check, but I've been making enough
> mistakes today not to risk that.
> 
> Signed-off-by: Serge Hallyn <[email protected]>

Haha, good old 0 based index :)

Acked-by: Stéphane Graber <[email protected]>

> ---
>  src/lxc/conf.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/src/lxc/conf.c b/src/lxc/conf.c
> index 69f90d0..a08273f 100644
> --- a/src/lxc/conf.c
> +++ b/src/lxc/conf.c
> @@ -3075,16 +3075,17 @@ int lxc_assign_network(struct lxc_list *network, 
> pid_t pid)
>  
>               netdev = iterator->elem;
>  
> -             /* empty network namespace, nothing to move */
> -             if (!netdev->ifindex)
> -                     continue;
> -             if (!am_root) {
> +             if (netdev->type == LXC_NET_VETH && !am_root) {
>                       if (unpriv_assign_nic(netdev, pid))
>                               return -1;
>                       // TODO fill in netdev->ifindex and name
>                       continue;
>               }
>  
> +             /* empty network namespace, nothing to move */
> +             if (!netdev->ifindex)
> +                     continue;
> +
>               err = lxc_netdev_move_by_index(netdev->ifindex, pid);
>               if (err) {
>                       ERROR("failed to move '%s' to the container : %s",
> -- 
> 1.8.5.2
> 
> _______________________________________________
> lxc-devel mailing list
> [email protected]
> http://lists.linuxcontainers.org/listinfo/lxc-devel

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com

Attachment: signature.asc
Description: Digital signature

_______________________________________________
lxc-devel mailing list
[email protected]
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to