From: Greg Kroah-Hartman Date: Wed, 3 Apr 2013 16:01:21 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.8.6~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1ba756eea7e6f78868fc61566a9dd3de3d87dcb9;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: bonding-get-netdev_rx_handler_unregister-out-of-locks.patch --- diff --git a/queue-3.0/bonding-get-netdev_rx_handler_unregister-out-of-locks.patch b/queue-3.0/bonding-get-netdev_rx_handler_unregister-out-of-locks.patch new file mode 100644 index 00000000000..c6ee3ee1780 --- /dev/null +++ b/queue-3.0/bonding-get-netdev_rx_handler_unregister-out-of-locks.patch @@ -0,0 +1,38 @@ +From 81c86d8de2fde1b668fa7d9f3221e15ce90005cf Mon Sep 17 00:00:00 2001 +From: Veaceslav Falico +Date: Tue, 2 Apr 2013 05:15:16 +0000 +Subject: bonding: get netdev_rx_handler_unregister out of locks + +From: Veaceslav Falico + +[ Upstream commit fcd99434fb5c137274d2e15dd2a6a7455f0f29ff ] + +Now that netdev_rx_handler_unregister contains synchronize_net(), we need +to call it outside of bond->lock, cause it might sleep. Also, remove the +already unneded synchronize_net(). + +Signed-off-by: Veaceslav Falico +Acked-by: Eric Dumazet +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/bonding/bond_main.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/net/bonding/bond_main.c ++++ b/drivers/net/bonding/bond_main.c +@@ -2017,12 +2017,11 @@ int bond_release(struct net_device *bond + return -EINVAL; + } + ++ write_unlock_bh(&bond->lock); + /* unregister rx_handler early so bond_handle_frame wouldn't be called + * for this slave anymore. + */ + netdev_rx_handler_unregister(slave_dev); +- write_unlock_bh(&bond->lock); +- synchronize_net(); + write_lock_bh(&bond->lock); + + if (!bond->params.fail_over_mac) { diff --git a/queue-3.0/series b/queue-3.0/series index eaf6d21deb3..bef98676a1a 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -54,3 +54,4 @@ net-add-a-synchronize_net-in-netdev_rx_handler_unregister.patch pch_gbe-fix-ip_summed-checksum-reporting-on-rx.patch smsc75xx-fix-jumbo-frame-support.patch iommu-amd-make-sure-dma_ops-are-set-for-hotplug-devices.patch +bonding-get-netdev_rx_handler_unregister-out-of-locks.patch