Commit 2d7b390c authored by Patrick McHardy's avatar Patrick McHardy Committed by Stephen Hemminger

[PKT_SCHED]: Disable local bh's when grabbing qdisc_tree_lock in tc_dump_tfilter.

I missed this one when fixing locking in __qdisc_destroy.
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@redhat.com>
parent c10c32d3
...@@ -387,7 +387,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -387,7 +387,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
if ((dev = dev_get_by_index(tcm->tcm_ifindex)) == NULL) if ((dev = dev_get_by_index(tcm->tcm_ifindex)) == NULL)
return skb->len; return skb->len;
read_lock(&qdisc_tree_lock); read_lock_bh(&qdisc_tree_lock);
if (!tcm->tcm_parent) if (!tcm->tcm_parent)
q = dev->qdisc_sleeping; q = dev->qdisc_sleeping;
else else
...@@ -444,7 +444,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb) ...@@ -444,7 +444,7 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
if (cl) if (cl)
cops->put(q, cl); cops->put(q, cl);
out: out:
read_unlock(&qdisc_tree_lock); read_unlock_bh(&qdisc_tree_lock);
dev_put(dev); dev_put(dev);
return skb->len; return skb->len;
} }
......
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