: Fix ingress locking
Subsystems (2)
[NET_SCHED]: Fix ingress locking
Ingress queueing uses a seperate lock for serializing enqueue operations, but fails to properly protect itself against concurrent changes to the qdisc tree. Use queue_lock for now since the real fix it quite intrusive.
Signed-off-by Patrick McHardy <[email protected]>
---
commit 11985909b582dc688b5a7c0f73f16244224116f4
tree 0ee26bec34053f6c9b5f905ffbc1437881428eeb
parent f1b9a0694552e18e7a43c292d21abe3b51dfcae2
author Patrick McHardy <[email protected]> Tue, 20 Mar 2007 16:11:56 +0100 committer Patrick McHardy <[email protected]> Tue, 20 Mar 2007 16:11:56 +0100
net/core/dev.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
net/core/dev.c +2 -2
@@ -1750,10 +1750,10 @@ static int ing_filter(struct sk_buff *sk skb->tc_verd =SET_TC_AT (skb->tc_verd,AT_INGRESS ); -spin_lock (&dev->ingress_lock); +spin_lock (&dev->queue_lock);if ((q = dev->qdisc_ingress) !=NULL ) result = q->enqueue (skb, q); -spin_unlock (&dev->ingress_lock); +spin_unlock (&dev->queue_lock); }
David Miller
maintainerAlso applied, and I also will push to -stable, thanks!