summaryrefslogtreecommitdiffstats
path: root/net/sctp/socket.c
diff options
context:
space:
mode:
authorDaniel Lezcano2008-02-20 09:21:47 +0100
committerDavid S. Miller2008-02-20 09:21:47 +0100
commitc15853f2c1c9baaa27bbc494cd183be96f6d9bb9 (patch)
tree0f5735eb9c3fedc715f58d4aeeeed162eabb5d3a /net/sctp/socket.c
parent[NIU]: More BMAC alt MAC address fixes. (diff)
downloadkernel-qcow2-linux-c15853f2c1c9baaa27bbc494cd183be96f6d9bb9.tar.gz
kernel-qcow2-linux-c15853f2c1c9baaa27bbc494cd183be96f6d9bb9.tar.xz
kernel-qcow2-linux-c15853f2c1c9baaa27bbc494cd183be96f6d9bb9.zip
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 'net/sctp/socket.c')
0 files changed, 0 insertions, 0 deletions