Skip to content

Commit 199cd13

Browse files
braunertehcaster
authored andcommitted
slab: port KMEM_CACHE_USERCOPY() to struct kmem_cache_args
Make KMEM_CACHE_USERCOPY() use struct kmem_cache_args. Reviewed-by: Kees Cook <kees@kernel.org> Reviewed-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org> Reviewed-by: Roman Gushchin <roman.gushchin@linux.dev> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
1 parent 052d67b commit 199cd13

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

include/linux/slab.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -294,12 +294,13 @@ int kmem_cache_shrink(struct kmem_cache *s);
294294
* To whitelist a single field for copying to/from usercopy, use this
295295
* macro instead for KMEM_CACHE() above.
296296
*/
297-
#define KMEM_CACHE_USERCOPY(__struct, __flags, __field) \
298-
kmem_cache_create_usercopy(#__struct, \
299-
sizeof(struct __struct), \
300-
__alignof__(struct __struct), (__flags), \
301-
offsetof(struct __struct, __field), \
302-
sizeof_field(struct __struct, __field), NULL)
297+
#define KMEM_CACHE_USERCOPY(__struct, __flags, __field) \
298+
__kmem_cache_create_args(#__struct, sizeof(struct __struct), \
299+
&(struct kmem_cache_args) { \
300+
.align = __alignof__(struct __struct), \
301+
.useroffset = offsetof(struct __struct, __field), \
302+
.usersize = sizeof_field(struct __struct, __field), \
303+
}, (__flags))
303304

304305
/*
305306
* Common kmalloc functions provided by all allocators

0 commit comments

Comments
 (0)