Re: [PATCH 0/2] Add kvzalloc_struct to complement kvzalloc_array

From: Kees Cook
Date: Wed Feb 14 2018 - 14:23:55 EST


On Wed, Feb 14, 2018 at 10:47 AM, Joe Perches <joe@xxxxxxxxxxx> wrote:
> On Wed, 2018-02-14 at 10:26 -0800, Matthew Wilcox wrote:
>> From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx>
>>
>> We all know the perils of multiplying a value provided from userspace
>> by a constant and then allocating the resulting number of bytes. That's
>> why we have kvmalloc_array(), so we don't have to think about it.
>> This solves the same problem when we embed one of these arrays in a
>> struct like this:
>>
>> struct {
>> int n;
>> unsigned long array[];
>> };
>
> I think expanding the number of allocation functions
> is not necessary.

I think removing common mispatterns in favor of overflow-protected
allocation functions makes sense.

-Kees

--
Kees Cook
Pixel Security