pkt_sched: Fix missed RCU unlock in dev_queue_xmit()
Noticed by Jarek Poplawski.
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/core/dev.c b/net/core/dev.c
index 819f017..8d13380 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1805,14 +1805,12 @@
spin_lock(root_lock);
if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) {
- spin_unlock(root_lock);
+ kfree_skb(skb);
rc = NET_XMIT_DROP;
- goto out_kfree_skb;
+ } else {
+ rc = qdisc_enqueue_root(skb, q);
+ qdisc_run(q);
}
-
- rc = qdisc_enqueue_root(skb, q);
- qdisc_run(q);
-
spin_unlock(root_lock);
goto out;