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
signature.asc
Description: Digital signature
_______________________________________________ lxc-devel mailing list [email protected] http://lists.linuxcontainers.org/listinfo/lxc-devel
