projects
/
kernel
/
kernel-generic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4335cd2
)
pkt_sched: Grab correct lock in notify_and_destroy().
author
Jarek Poplawski
<jarkao2@gmail.com>
Mon, 18 Aug 2008 05:02:11 +0000
(22:02 -0700)
committer
David S. Miller
<davem@davemloft.net>
Mon, 18 Aug 2008 05:02:11 +0000
(22:02 -0700)
From: Jarek Poplawski <jarkao2@gmail.com>
When we are destroying non-root qdiscs, we need to lock
the root of the qdisc tree not the the qdisc itself.
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_api.c
patch
|
blob
|
history
diff --git
a/net/sched/sch_api.c
b/net/sched/sch_api.c
index
c25465e
..
c8dc72e
100644
(file)
--- a/
net/sched/sch_api.c
+++ b/
net/sched/sch_api.c
@@
-638,9
+638,9
@@
static void notify_and_destroy(struct sk_buff *skb, struct nlmsghdr *n, u32 clid
qdisc_notify(skb, n, clid, old, new);
if (old) {
- s
pin_lock_bh(&old->q.lock
);
+ s
ch_tree_lock(old
);
qdisc_destroy(old);
- s
pin_unlock_bh(&old->q.lock
);
+ s
ch_tree_unlock(old
);
}
}