All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.