[PATCH v1 1/1] mm, slab: fold need_slab_obj_ext() into its only user

From: Andy Shevchenko
Date: Thu Apr 24 2025 - 12:48:20 EST


need_slab_obj_ext() is used only in one place, fold it into there.
Without that, clang can't build kernel with `make W=1` when
CONFIG_WERROR=y, which is default in the x86 configurations.

mm/slub.c:2079:20: error: unused function 'need_slab_obj_ext' [-Werror,-Wunused-function]

To solve this, fold need_slab_obj_ext() into its only user.

Fixes: e33b7ae3d802 ("mm, slab: clean up slab->obj_exts always")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
mm/slub.c | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index 966785362a62..50e9730828a6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2048,18 +2048,6 @@ static inline void free_slab_obj_exts(struct slab *slab)
slab->obj_exts = 0;
}

-static inline bool need_slab_obj_ext(void)
-{
- if (mem_alloc_profiling_enabled())
- return true;
-
- /*
- * CONFIG_MEMCG creates vector of obj_cgroup objects conditionally
- * inside memcg_slab_post_alloc_hook. No other users for now.
- */
- return false;
-}
-
#else /* CONFIG_SLAB_OBJ_EXT */

static inline void init_slab_obj_exts(struct slab *slab)
@@ -2076,11 +2064,6 @@ static inline void free_slab_obj_exts(struct slab *slab)
{
}

-static inline bool need_slab_obj_ext(void)
-{
- return false;
-}
-
#endif /* CONFIG_SLAB_OBJ_EXT */

#ifdef CONFIG_MEM_ALLOC_PROFILING
@@ -2128,7 +2111,11 @@ __alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags)
static inline void
alloc_tagging_slab_alloc_hook(struct kmem_cache *s, void *object, gfp_t flags)
{
- if (need_slab_obj_ext())
+ /*
+ * CONFIG_MEMCG creates vector of obj_cgroup objects conditionally
+ * inside memcg_slab_post_alloc_hook(). No other users for now.
+ */
+ if (mem_alloc_profiling_enabled())
__alloc_tagging_slab_alloc_hook(s, object, flags);
}

--
2.47.2