diff options
author | Yunjian Wang <wangyunjian@huawei.com> | 2021-03-30 17:27:48 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-03-30 23:50:03 +0300 |
commit | ae81feb7338c89cee4e6aa0424bdab2ce2b52da2 (patch) | |
tree | 810bf9f3858b8e2d39947896cad979dc248daab9 /net | |
parent | 8a03dd925786bdc3834d56ccc980bb70668efa35 (diff) | |
download | linux-ae81feb7338c89cee4e6aa0424bdab2ce2b52da2.tar.xz |
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')
-rw-r--r-- | net/sched/sch_htb.c | 5 |
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); + } } } |