Re: x86-ksysfs: Use kmalloc_array() in create_setup_data_nodes()

From: Kees Cook
Date: Wed Sep 07 2016 - 13:01:34 EST


On Wed, Sep 7, 2016 at 9:37 AM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> On Wed, 2016-09-07 at 09:23 -0700, Kees Cook wrote:
>> Fixing these kmalloc calls would be a nice thing to clean up
>> everywhere.
>
> Dubious as gcc cannot currently optimize known small fixed size
> allocations with alloc_array and will always perform the
> multiplication.

Oh, that's sad. Is it not able to tell what the types are to basic
overflow validation? Could we help gcc in some way?

> Also the style of sizeof(*ptr) is not always as clear, obvious
> nor as easy to grep as sizeof(type).

I've always been on the fence about this (I like being able to see
destination:thing, sizeof(*thing) for easy scanning), but having the
type right there can be easier for text searches.

-Kees

--
Kees Cook
Nexus Security