Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Harry Yoo <harry@kernel.org>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev
Subject: [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
Date: Wed, 13 May 2026 19:48:26 +0800	[thread overview]
Message-ID: <202605131900.xMLYUDLG-lkp@intel.com> (raw)

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

                 reply	other threads:[~2026-05-13 11:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605131900.xMLYUDLG-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=harry@kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox