Subject: Re: loosing netdevices with namespaces and unshare?

From: [email-masked] (Eric W. Biederman)
Date: Thu, 01 Jun 2017 01:32:49 -0500

Cong Wang <[email-masked]> writes:
> Network namespace does not special-case the physical devices,
> it treats them all equally as abstract net devices.

Absolutely not true.

The relevant code is in net/core/dev.c:default_device_exit

If a network device does not implement rntl_link_ops it is returned to
the initial network namespace.   Anything else will loose physical
devices.

Only for pure software based devices do we delete them.  Perhaps your
sub interface implements rtnl_link_ops?  Either that or something is
still holding a reference to your network namespace, which would prevent
the network device from being returned.

Eric