diff options
author | Amerigo Wang <amwang@redhat.com> | 2010-03-31 21:30:52 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-01 17:26:01 -0700 |
commit | 9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a (patch) | |
tree | e469e69cc59b860713ac18227932c017a739564f /net/netlabel | |
parent | 6503d96168f891ffa3b70ae6c9698a1a722025a0 (diff) | |
download | talos-op-linux-9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a.tar.gz talos-op-linux-9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a.zip |
bonding: fix potential deadlock in bond_uninit()
bond_uninit() is invoked with rtnl_lock held, when it does destroy_workqueue()
which will potentially flush all works in this workqueue, if we hold rtnl_lock
again in the work function, it will deadlock.
So move destroy_workqueue() to destructor where rtnl_lock is not held any more,
suggested by Eric.
Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Jay Vosburgh <fubar@us.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Stephen Hemminger <shemminger@vyatta.com>
Cc: Jiri Pirko <jpirko@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/netlabel')
0 files changed, 0 insertions, 0 deletions