Re: [Patch net] net_sched: check noop_qdisc before qdisc_hash_add()
From: Cong Wang Date: Tue, 4 Apr 2017 18:51:30 -0700 > Dmitry reported a crash when injecting faults in > attach_one_default_qdisc() and dev->qdisc is still > a noop_disc, the check before qdisc_hash_add() fails > to catch it because it tests NULL. We should test > against noop_qdisc since it is the default qdisc > at this point. > > Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable") > Reported-by: Dmitry Vyukov > Cc: Jiri Kosina > Signed-off-by: Cong Wang Applied and queued up for -stable.
Re: [Patch net] net_sched: check noop_qdisc before qdisc_hash_add()
On Tue, 4 Apr 2017, Cong Wang wrote: > Dmitry reported a crash when injecting faults in > attach_one_default_qdisc() and dev->qdisc is still > a noop_disc, the check before qdisc_hash_add() fails > to catch it because it tests NULL. We should test > against noop_qdisc since it is the default qdisc > at this point. > > Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable") > Reported-by: Dmitry Vyukov > Cc: Jiri Kosina > Signed-off-by: Cong Wang Acked-by: Jiri Kosina Thanks. > --- > net/sched/sch_generic.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c > index b052b27..1a2f9e9 100644 > --- a/net/sched/sch_generic.c > +++ b/net/sched/sch_generic.c > @@ -794,7 +794,7 @@ static void attach_default_qdiscs(struct net_device *dev) > } > } > #ifdef CONFIG_NET_SCHED > - if (dev->qdisc) > + if (dev->qdisc != &noop_qdisc) > qdisc_hash_add(dev->qdisc); > #endif > } > -- > 2.5.5 > -- Jiri Kosina SUSE Labs
[Patch net] net_sched: check noop_qdisc before qdisc_hash_add()
Dmitry reported a crash when injecting faults in attach_one_default_qdisc() and dev->qdisc is still a noop_disc, the check before qdisc_hash_add() fails to catch it because it tests NULL. We should test against noop_qdisc since it is the default qdisc at this point. Fixes: 59cc1f61f09c ("net: sched: convert qdisc linked list to hashtable") Reported-by: Dmitry Vyukov Cc: Jiri Kosina Signed-off-by: Cong Wang --- net/sched/sch_generic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index b052b27..1a2f9e9 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -794,7 +794,7 @@ static void attach_default_qdiscs(struct net_device *dev) } } #ifdef CONFIG_NET_SCHED - if (dev->qdisc) + if (dev->qdisc != &noop_qdisc) qdisc_hash_add(dev->qdisc); #endif } -- 2.5.5