* [harry:slab-allow-runtime-parameter-tuning-rfc-v1r1-wip 6/6] mm/slub.c:3173:2: error: member reference type 'void' is not a pointer
@ 2026-05-13 11:48 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-05-13 11:48 UTC (permalink / raw)
To: Harry Yoo; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/harry/linux.git slab-allow-runtime-parameter-tuning-rfc-v1r1-wip
head: 10c188407341817c6baf9dad9c788928f8387800
commit: 10c188407341817c6baf9dad9c788928f8387800 [6/6] mm/slab: allow changing sheaf_capacity at runtime
config: arm64-randconfig-004-20260513 (https://download.01.org/0day-ci/archive/20260513/202605131900.xMLYUDLG-lkp@intel.com/config)
compiler: clang version 17.0.6 (https://github.com/llvm/llvm-project 6009708b4367171ccdbf4b5905cb6a803753fe18)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260513/202605131900.xMLYUDLG-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605131900.xMLYUDLG-lkp@intel.com/
All errors (new ones prefixed by >>):
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:252:20: note: expanded from macro 'this_cpu_ptr'
252 | __verify_pcpu_ptr(ptr); \
| ^~~
include/linux/percpu-defs.h:221:47: note: expanded from macro '__verify_pcpu_ptr'
221 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/lockdep.h:285:38: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ^
include/linux/lockdep.h:252:47: note: expanded from macro 'lockdep_is_held'
252 | #define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
| ^~~~
include/linux/lockdep.h:279:32: note: expanded from macro 'lockdep_assert'
279 | do { WARN_ON(debug_locks && !(cond)); } while (0)
| ^~~~
include/asm-generic/bug.h:205:25: note: expanded from macro 'WARN_ON'
205 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:253:19: note: expanded from macro 'this_cpu_ptr'
253 | SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
| ^~~
include/linux/percpu-defs.h:235:24: note: expanded from macro 'SHIFT_PERCPU_PTR'
235 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~
include/linux/percpu-defs.h:226:19: note: expanded from macro 'PERCPU_PTR'
226 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~
note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/lockdep.h:252:47: note: expanded from macro 'lockdep_is_held'
252 | #define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
| ^~~~
include/linux/lockdep.h:279:32: note: expanded from macro 'lockdep_assert'
279 | do { WARN_ON(debug_locks && !(cond)); } while (0)
| ^~~~
include/asm-generic/bug.h:205:25: note: expanded from macro 'WARN_ON'
205 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:253:19: note: expanded from macro 'this_cpu_ptr'
253 | SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
| ^~~
include/linux/percpu-defs.h:235:24: note: expanded from macro 'SHIFT_PERCPU_PTR'
235 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~
include/linux/percpu-defs.h:226:69: note: expanded from macro 'PERCPU_PTR'
226 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~
note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/lockdep.h:252:47: note: expanded from macro 'lockdep_is_held'
252 | #define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
| ^~~~
include/linux/lockdep.h:279:32: note: expanded from macro 'lockdep_assert'
279 | do { WARN_ON(debug_locks && !(cond)); } while (0)
| ^~~~
include/asm-generic/bug.h:205:25: note: expanded from macro 'WARN_ON'
205 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
>> mm/slub.c:3173:2: error: member reference type 'void' is not a pointer
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/lockdep.h:285:22: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/lockdep.h:252:54: note: expanded from macro 'lockdep_is_held'
252 | #define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
| ^
include/linux/lockdep.h:279:32: note: expanded from macro 'lockdep_assert'
279 | do { WARN_ON(debug_locks && !(cond)); } while (0)
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
include/asm-generic/bug.h:205:25: note: expanded from macro 'WARN_ON'
205 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:252:20: note: expanded from macro 'this_cpu_ptr'
252 | __verify_pcpu_ptr(ptr); \
| ^~~
include/linux/percpu-defs.h:221:47: note: expanded from macro '__verify_pcpu_ptr'
221 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/lockdep.h:285:84: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ^
include/linux/compiler-context-analysis.h:172:47: note: expanded from macro '__assume_ctx_lock'
172 | # define __assume_ctx_lock(var) do { (void)(var); } while (0)
| ^~~
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:253:19: note: expanded from macro 'this_cpu_ptr'
253 | SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
| ^~~
include/linux/percpu-defs.h:235:24: note: expanded from macro 'SHIFT_PERCPU_PTR'
235 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~
include/linux/percpu-defs.h:226:19: note: expanded from macro 'PERCPU_PTR'
226 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler.h:152:40: note: expanded from macro 'RELOC_HIDE'
152 | # define RELOC_HIDE(ptr, off) ((typeof(ptr))((unsigned long)(ptr) + (off)))
| ^~~
include/linux/lockdep.h:285:84: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ^
include/linux/compiler-context-analysis.h:172:47: note: expanded from macro '__assume_ctx_lock'
172 | # define __assume_ctx_lock(var) do { (void)(var); } while (0)
| ^~~
mm/slub.c:3173:44: error: no member named 'cache' in 'struct slab_sheaf'
3173 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:253:19: note: expanded from macro 'this_cpu_ptr'
253 | SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
| ^~~
include/linux/percpu-defs.h:235:24: note: expanded from macro 'SHIFT_PERCPU_PTR'
235 | RELOC_HIDE(PERCPU_PTR(__p), (__offset))
| ^~~
include/linux/percpu-defs.h:226:69: note: expanded from macro 'PERCPU_PTR'
226 | (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
| ^~~
include/linux/compiler.h:152:40: note: expanded from macro 'RELOC_HIDE'
152 | # define RELOC_HIDE(ptr, off) ((typeof(ptr))((unsigned long)(ptr) + (off)))
| ^~~
include/linux/lockdep.h:285:84: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ^
include/linux/compiler-context-analysis.h:172:47: note: expanded from macro '__assume_ctx_lock'
172 | # define __assume_ctx_lock(var) do { (void)(var); } while (0)
| ^~~
mm/slub.c:3187:44: error: no member named 'cache' in 'struct slab_sheaf'
3187 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:252:20: note: expanded from macro 'this_cpu_ptr'
252 | __verify_pcpu_ptr(ptr); \
| ^~~
include/linux/percpu-defs.h:221:47: note: expanded from macro '__verify_pcpu_ptr'
221 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; \
| ^~~
include/linux/lockdep.h:285:38: note: expanded from macro 'lockdep_assert_held'
285 | do { lockdep_assert(lockdep_is_held(l) != LOCK_STATE_NOT_HELD); __assume_ctx_lock(l); } while (0)
| ^
include/linux/lockdep.h:252:47: note: expanded from macro 'lockdep_is_held'
252 | #define lockdep_is_held(lock) lock_is_held(&(lock)->dep_map)
| ^~~~
include/linux/lockdep.h:279:32: note: expanded from macro 'lockdep_assert'
279 | do { WARN_ON(debug_locks && !(cond)); } while (0)
| ^~~~
include/asm-generic/bug.h:205:25: note: expanded from macro 'WARN_ON'
205 | int __ret_warn_on = !!(condition); \
| ^~~~~~~~~
mm/slub.c:3187:44: error: no member named 'cache' in 'struct slab_sheaf'
3187 | lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
| ~~~~~ ^
include/linux/percpu-defs.h:253:19: note: expanded from macro 'this_cpu_ptr'
253 | SHIFT_PERCPU_PTR(ptr, my_cpu_offset); \
| ^~~
include/linux/percpu-defs.h:235:24: note: expanded from macro 'SHIFT_PERCPU_PTR'
vim +/void +3173 mm/slub.c
3162
3163 /*
3164 * The following two functions are used mainly in cases where we have to undo an
3165 * intended action due to a race or cpu migration. Thus they do not check the
3166 * empty or full sheaf limits for simplicity.
3167 */
3168
3169 static void barn_put_empty_sheaf(struct node_barn *barn, struct slab_sheaf *sheaf)
3170 {
3171 unsigned long flags;
3172
> 3173 lockdep_assert_held(this_cpu_ptr(&(sheaf->cache)->cpu_sheaves->lock));
3174
3175 spin_lock_irqsave(&barn->lock, flags);
3176
3177 list_add(&sheaf->barn_list, &barn->sheaves_empty);
3178 barn->nr_empty++;
3179
3180 spin_unlock_irqrestore(&barn->lock, flags);
3181 }
3182
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-05-13 11:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-13 11:48 [harry:slab-allow-runtime-parameter-tuning-rfc-v1r1-wip 6/6] mm/slub.c:3173:2: error: member reference type 'void' is not a pointer kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox