diff options
author | Amerigo Wang <amwang@redhat.com> | 2010-04-01 01:30:52 +0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-02 04:26:01 +0400 |
commit | 9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a (patch) | |
tree | e469e69cc59b860713ac18227932c017a739564f /net/netlabel/netlabel_unlabeled.c | |
parent | 6503d96168f891ffa3b70ae6c9698a1a722025a0 (diff) | |
download | linux-9e2e61fbf8ad016d24e4af0afff13505f3dd2a2a.tar.xz |
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/netlabel_unlabeled.c')
0 files changed, 0 insertions, 0 deletions