summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_htb.c
diff options
context:
space:
mode:
authorYunjian Wang <wangyunjian@huawei.com>2021-03-30 22:27:48 +0800
committerDavid S. Miller <davem@davemloft.net>2021-03-30 13:50:03 -0700
commitae81feb7338c89cee4e6aa0424bdab2ce2b52da2 (patch)
tree810bf9f3858b8e2d39947896cad979dc248daab9 /net/sched/sch_htb.c
parent8a03dd925786bdc3834d56ccc980bb70668efa35 (diff)
downloadlinux-ae81feb7338c89cee4e6aa0424bdab2ce2b52da2.tar.bz2
sch_htb: fix null pointer dereference on a null new_q
sch_htb: fix null pointer dereference on a null new_q Currently if new_q is null, the null new_q pointer will be dereference when 'q->offload' is true. Fix this by adding a braces around htb_parent_to_leaf_offload() to avoid it. Addresses-Coverity: ("Dereference after null check") Fixes: d03b195b5aa0 ("sch_htb: Hierarchical QoS hardware offload") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_htb.c')
-rw-r--r--net/sched/sch_htb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 62e12cb41a3e..081c11d5717c 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -1675,9 +1675,10 @@ static int htb_delete(struct Qdisc *sch, unsigned long arg,
cl->parent->common.classid,
NULL);
if (q->offload) {
- if (new_q)
+ if (new_q) {
htb_set_lockdep_class_child(new_q);
- htb_parent_to_leaf_offload(sch, dev_queue, new_q);
+ htb_parent_to_leaf_offload(sch, dev_queue, new_q);
+ }
}
}