Re: VLAN creation may lead to deadlock.
flat view
From: Cong Wang <hidden>
Date: 2015-02-13 19:54:26
On Fri, Feb 13, 2015 at 4:02 AM, Ignacy Gawedzki [off-list ref] wrote:
Hi, I stumbled upon the following annoying situation: supposing eth0 is some interface that is currently DOWN, the following command ip link add link eth0 name eth0.1 up type vlan id 1 never returns and the kernel printks the following lines every few seconds unregister_netdevice: waiting for eth0.1 to become free. Usage count = 2 I understand that the kernel should prevent me from creating a VLAN interface that's initially up when loose-binding is off and the master interface is down (and indeed there is absolutely no problem when loose-binding is on), but the unregistering of the currently-being-registered device should not block like that. It appears there are too few dev_puts compared to dev_holds in there.
Good catch! It looks like we forgot to call unregister_vlan_dev(), I am cooking a patch.