From: David S. Miller Date: Mon, 18 Aug 2008 06:37:16 +0000 (-0700) Subject: pkt_sched: Fix missed RCU unlock in dev_queue_xmit() X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=96d203169d1d851ac1468f7d4459a09581be364c;p=openwrt%2Fstaging%2Fblogic.git pkt_sched: Fix missed RCU unlock in dev_queue_xmit() Noticed by Jarek Poplawski. Signed-off-by: David S. Miller --- diff --git a/net/core/dev.c b/net/core/dev.c index 819f0175bdc9..8d133802372b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1805,14 +1805,12 @@ gso: 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;