Re: [PATCH 18/20] mm/slub: remove slab_alloc() and __kmem_cache_alloc_lru() wrappers

From: Kees Cook
Date: Mon Nov 13 2023 - 23:50:52 EST


On Mon, Nov 13, 2023 at 08:13:59PM +0100, Vlastimil Babka wrote:
> slab_alloc() is a thin wrapper around slab_alloc_node() with only one
> caller. Replace with direct call of slab_alloc_node().
> __kmem_cache_alloc_lru() itself is a thin wrapper with two callers,
> so replace it with direct calls of slab_alloc_node() and
> trace_kmem_cache_alloc().

I'd have a sense that with 2 callers a wrapper is still useful?

>
> This also makes sure _RET_IP_ has always the expected value and not
> depending on inlining decisions.
>
> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx>
> [...]
> void *kmem_cache_alloc_node(struct kmem_cache *s, gfp_t gfpflags, int node)
> {
> - void *ret = slab_alloc_node(s, NULL, gfpflags, node, _RET_IP_, s->object_size);
> + void *ret = slab_alloc_node(s, NULL, gfpflags, node, _RET_IP_,
> + s->object_size);
>

Whitespace change here isn't mentioned in the commit log.

Regardless:

Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>

--
Kees Cook