Messages in this thread | | | From | Jamal Hadi Salim <> | Date | Thu, 17 Aug 2023 12:32:31 -0400 | Subject | Re: [PATCH][next] net: sched: cls_u32: Fix allocation in u32_init() |
| |
On Thu, Aug 17, 2023 at 11:57 AM Gustavo A. R. Silva <gustavoars@kernel.org> wrote: > > Replace struct_size() with sizeof(), and avoid allocating 8 too many > bytes. > > The following difference in binary output is expected and reflects the > desired change: > > | net/sched/cls_u32.o > | @@ -6148,7 +6148,7 @@ > | include/linux/slab.h:599 > | 2cf5: mov 0x0(%rip),%rdi # 2cfc <u32_init+0xfc> > | 2cf8: R_X86_64_PC32 kmalloc_caches+0xc > |- 2cfc: mov $0x98,%edx > |+ 2cfc: mov $0x90,%edx > > Fixes: d61491a51f7e ("net/sched: cls_u32: Replace one-element array with flexible-array member") > Reported-by: Alejandro Colomar <alx@kernel.org> > Closes: https://lore.kernel.org/lkml/09b4a2ce-da74-3a19-6961-67883f634d98@kernel.org/ > Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> > --- > net/sched/cls_u32.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c > index da4c179a4d41..6663e971a13e 100644 > --- a/net/sched/cls_u32.c > +++ b/net/sched/cls_u32.c > @@ -366,7 +366,7 @@ static int u32_init(struct tcf_proto *tp) > idr_init(&root_ht->handle_idr); > > if (tp_c == NULL) { > - tp_c = kzalloc(struct_size(tp_c, hlist->ht, 1), GFP_KERNEL); > + tp_c = kzalloc(sizeof(*tp_c), GFP_KERNEL); > if (tp_c == NULL) { > kfree(root_ht); > return -ENOBUFS;
LGTM. Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
cheers, jamal
> 2.34.1 >
| |