diff options
author | Daniel Lezcano <dlezcano@fr.ibm.com> | 2008-02-20 00:21:47 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-02-20 00:21:47 -0800 |
commit | c15853f2c1c9baaa27bbc494cd183be96f6d9bb9 (patch) | |
tree | 0f5735eb9c3fedc715f58d4aeeeed162eabb5d3a /mm/util.c | |
parent | fa907895b7b776208a1406efe5ba7ffe0f49f507 (diff) |
veth: fix dev refcount race
When deleting the veth driver, veth_close calls netif_carrier_off
for the two extremities of the network device. netif_carrier_off on
the peer device will fire an event and hold a reference on the peer
device. Just after, the peer is unregistered taking the rtnl_lock while
the linkwatch_event is scheduled. If __linkwatch_run_queue does not
occurs before the unregistering, unregister_netdevice will wait for
the dev refcount to reach zero holding the rtnl_lock and linkwatch_event
will wait for the rtnl_lock and hold the dev refcount.
Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'mm/util.c')
0 files changed, 0 insertions, 0 deletions