Re: [PATCH v3 4/4] slub: Force on no_hash_pointers when slub_debug is enabled
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-06-02 00:27:03
Also in:
lkml, oe-kbuild-all
On Wed, 2 Jun 2021 06:45:55 +0800 kernel test robot [off-list ref] wrote:
quoted
quoted
mm/slub.c:4464:30: error: use of undeclared identifier 'slub_debug_enabled'if (static_branch_unlikely(&slub_debug_enabled)) ^quoted
quoted
mm/slub.c:4464:30: error: use of undeclared identifier 'slub_debug_enabled' mm/slub.c:4464:30: error: use of undeclared identifier 'slub_debug_enabled' mm/slub.c:4464:30: error: use of undeclared identifier 'slub_debug_enabled' mm/slub.c:4464:6: error: invalid argument type 'void' to unary expressionif (static_branch_unlikely(&slub_debug_enabled)) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks. Stephen, how about this?
--- a/mm/slub.c~slub-force-on-no_hash_pointers-when-slub_debug-is-enabled-fix
+++ a/mm/slub.c@@ -117,12 +117,26 @@ */ #ifdef CONFIG_SLUB_DEBUG + #ifdef CONFIG_SLUB_DEBUG_ON DEFINE_STATIC_KEY_TRUE(slub_debug_enabled); #else DEFINE_STATIC_KEY_FALSE(slub_debug_enabled); #endif -#endif + +static inline bool __slub_debug_enabled(void) +{ + return static_branch_unlikely(&slub_debug_enabled); +} + +#else /* CONFIG_SLUB_DEBUG */ + +static inline bool __slub_debug_enabled(void) +{ + return false; +} + +#endif /* CONFIG_SLUB_DEBUG */ static inline bool kmem_cache_debug(struct kmem_cache *s) {
@@ -4493,7 +4507,7 @@ void __init kmem_cache_init(void) slub_max_order = 0; /* Print slub debugging pointers without hashing */ - if (static_branch_unlikely(&slub_debug_enabled)) + if (__slub_debug_enabled()) no_hash_pointers_enable(NULL); kmem_cache_node = &boot_kmem_cache_node;
_