From: Greg Kroah-Hartman Date: Wed, 17 Apr 2013 16:53:20 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.8.9~28 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3fc49e6a84918990cc11bda40738bbbfdd573f2e;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: revert-8021q-fix-a-potential-use-after-free.patch --- diff --git a/queue-3.0/revert-8021q-fix-a-potential-use-after-free.patch b/queue-3.0/revert-8021q-fix-a-potential-use-after-free.patch new file mode 100644 index 00000000000..eeea8b1bcfc --- /dev/null +++ b/queue-3.0/revert-8021q-fix-a-potential-use-after-free.patch @@ -0,0 +1,52 @@ +From foo@baz Wed Apr 17 09:50:59 PDT 2013 +Date: Wed, 17 Apr 2013 09:50:59 -0700 +To: Greg KH +From: Greg Kroah-Hartman +Subject: Revert "8021q: fix a potential use-after-free" + +This reverts commit 9829fe9806e22d7a822f4c947cc432c8d1774b54 which is +upstream commit 4a7df340ed1bac190c124c1601bfc10cde9fb4fb + +It turns out this causes problems on the 3.0-stable release. + +Reported-by: Thomas Voegtle +Acked-by: Cong Wang +Cc: Patrick McHardy +Cc: "David S. Miller" +Cc: Eric Dumazet +Signed-off-by: Greg Kroah-Hartman + +--- + net/8021q/vlan.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +--- a/net/8021q/vlan.c ++++ b/net/8021q/vlan.c +@@ -108,6 +108,13 @@ void unregister_vlan_dev(struct net_devi + grp = rtnl_dereference(real_dev->vlgrp); + BUG_ON(!grp); + ++ /* Take it out of our own structures, but be sure to interlock with ++ * HW accelerating devices or SW vlan input packet processing if ++ * VLAN is not 0 (leave it there for 802.1p). ++ */ ++ if (vlan_id && (real_dev->features & NETIF_F_HW_VLAN_FILTER)) ++ ops->ndo_vlan_rx_kill_vid(real_dev, vlan_id); ++ + grp->nr_vlans--; + + if (vlan->flags & VLAN_FLAG_GVRP) +@@ -132,13 +139,6 @@ void unregister_vlan_dev(struct net_devi + call_rcu(&grp->rcu, vlan_rcu_free); + } + +- /* Take it out of our own structures, but be sure to interlock with +- * HW accelerating devices or SW vlan input packet processing if +- * VLAN is not 0 (leave it there for 802.1p). +- */ +- if (vlan_id && (real_dev->features & NETIF_F_HW_VLAN_FILTER)) +- ops->ndo_vlan_rx_kill_vid(real_dev, vlan_id); +- + /* Get rid of the vlan's reference to real_dev */ + dev_put(real_dev); + } diff --git a/queue-3.0/series b/queue-3.0/series index f98165c08e1..569ed215c8a 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -1 +1,2 @@ hrtimer-don-t-reinitialize-a-cpu_base-lock-on-cpu_up.patch +revert-8021q-fix-a-potential-use-after-free.patch