Re: [PATCH 04/36] usercopy: Prepare for usercopy whitelisting

From: Kees Cook
Date: Wed Jan 10 2018 - 16:06:25 EST


On Wed, Jan 10, 2018 at 10:28 AM, Christopher Lameter <cl@xxxxxxxxx> wrote:
> On Tue, 9 Jan 2018, Kees Cook wrote:
>
>> +struct kmem_cache *kmem_cache_create_usercopy(const char *name,
>> + size_t size, size_t align, slab_flags_t flags,
>> + size_t useroffset, size_t usersize,
>> + void (*ctor)(void *));
>
> Hmmm... At some point we should switch kmem_cache_create to pass a struct
> containing all the parameters. Otherwise the API will blow up with
> additional functions.
>
>> index 2181719fd907..70c4b4bb4d1f 100644
>> --- a/include/linux/stddef.h
>> +++ b/include/linux/stddef.h
>> @@ -19,6 +19,8 @@ enum {
>> #define offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER)
>> #endif
>>
>> +#define sizeof_field(structure, field) sizeof((((structure *)0)->field))
>> +
>> /**
>> * offsetofend(TYPE, MEMBER)
>> *
>
> Have a separate patch for adding this functionality? Its not a slab
> maintainer
> file.

Good idea; I've done this now.

> Rest looks ok.
>
> Acked-by: Christoph Lameter <cl@xxxxxxxxx>

Thanks!

-Kees

--
Kees Cook
Pixel Security