Commit 96d20316 authored by David S. Miller's avatar David S. Miller

pkt_sched: Fix missed RCU unlock in dev_queue_xmit()

Noticed by Jarek Poplawski.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 13601cd8
...@@ -1805,14 +1805,12 @@ int dev_queue_xmit(struct sk_buff *skb) ...@@ -1805,14 +1805,12 @@ int dev_queue_xmit(struct sk_buff *skb)
spin_lock(root_lock); spin_lock(root_lock);
if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) { if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) {
spin_unlock(root_lock); kfree_skb(skb);
rc = NET_XMIT_DROP; rc = NET_XMIT_DROP;
goto out_kfree_skb; } else {
}
rc = qdisc_enqueue_root(skb, q); rc = qdisc_enqueue_root(skb, q);
qdisc_run(q); qdisc_run(q);
}
spin_unlock(root_lock); spin_unlock(root_lock);
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment