Messages in this thread | | | From | "Gustavo A. R. Silva" <> | Subject | Re: [PATCH] iwlwifi: d3: use struct_size() in kzalloc() | Date | Fri, 24 Aug 2018 06:58:05 -0500 |
| |
Hi Joe,
On 8/23/18 11:33 PM, Joe Perches wrote: > On Thu, 2018-08-23 at 20:03 -0700, Kees Cook wrote: >> On Thu, Aug 23, 2018 at 6:15 PM, Gustavo A. R. Silva >> <gustavo@embeddedor.com> wrote: >>> One of the more common cases of allocation size calculations is finding >>> the size of a structure that has a zero-sized array at the end, along >>> with memory for some number of elements for that array. For example: >>> >>> struct foo { >>> int stuff; >>> void *entry[]; >>> }; > > Question for Gustavo. > > Did you find any existing instances that are miscalculated? >
I found the following bug:
https://lore.kernel.org/patchwork/patch/977357/
> I believe there are some cases like: > > size = sizeof(struct foo) + count * sizeof(something); > ptr = kmalloc(size); > memset(ptr + sizeof(struct foo), 0, size - sizeof(struct foo)); > > where something could go wrong and not be detected. >
It might be worth it to write a Coccinelle script for this.
-- Gustavo
| |