Thread (6 messages) 6 messages, 4 authors, 2023-09-29

Re: [PATCH][next] net: sched: cls_u32: Fix allocation in u32_init()

From: Jamal Hadi Salim <jhs@mojatatu.com>
Date: 2023-08-21 14:35:44
Also in: linux-hardening, lkml

On Fri, Aug 18, 2023 at 10:38 PM Jakub Kicinski [off-list ref] wrote:
On Thu, 17 Aug 2023 09:58:53 -0600 Gustavo A. R. Silva wrote:
quoted
Subject: [PATCH][next] net: sched: cls_u32: Fix allocation in u32_init()
Date: Thu, 17 Aug 2023 09:58:53 -0600

Replace struct_size() with sizeof(), and avoid allocating 8 too many
bytes.
What are you fixing?
quoted
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
Sure, but why are you doing this? And how do you know the change is
correct?

There are 2 other instances where we allocate 1 entry or +1 entry.
Are they not all wrong?

Also some walking code seems to walk <= divisor, divisor IIUC being
the array bound - 1?

Jamal acked so changes are this is right, but I'd really like to
understand what's going on, and I shouldn't have to ask you all
these questions :S
This is a "bug fix" given that the structure had no zero array
construct as was implied by d61491a51f7e . I didnt want to call it out
as a bug fix (for -net) because existing code was not harmful but
allocated extra memory which this patch gives back.
The other instances have a legit need for "flexible array".

cheers,
jamal
--
pw-bot: cr
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help