Messages in this thread | | | Date | Wed, 8 Dec 2021 18:36:08 -0800 | From | Jakub Kicinski <> | Subject | Re: [PATCH] net: sched: gred: potential dereference of null pointer |
| |
On Thu, 9 Dec 2021 10:13:46 +0800 Jiasheng Jiang wrote: > The return value of kzalloc() needs to be checked. > To avoid use of null pointer in gred_change_vq() in case > of the failure of alloc. > > Fixes: 869aa41044b0 ("sch_gred: prefer GFP_KERNEL allocations") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
I don't see how. Please explain in more detail. gred_change_vq() gets a pointer to a pointer and checks if its values is NULL.
> diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c > index f4132dc25ac0..c0d355281baf 100644 > --- a/net/sched/sch_gred.c > +++ b/net/sched/sch_gred.c > @@ -697,6 +697,8 @@ static int gred_change(struct Qdisc *sch, struct nlattr *opt, > } > > prealloc = kzalloc(sizeof(*prealloc), GFP_KERNEL); > + if (!prealloc) > + return -ENOMEM; > sch_tree_lock(sch); > > err = gred_change_vq(sch, ctl->DP, ctl, prio, stab, max_P, &prealloc,
| |