All of lore.kernel.org
 help / color / mirror / Atom feed
* [ast-bpf:trylock 7/7] mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
@ 2025-04-11  9:27 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-04-11  9:27 UTC (permalink / raw)
  To: Alexei Starovoitov; +Cc: oe-kbuild-all

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/ast/bpf.git trylock
head:   28e3f03dae020bb273ab4d5dd660849e08e89bb9
commit: 28e3f03dae020bb273ab4d5dd660849e08e89bb9 [7/7] slab: Introduce try_kmalloc() and kfree_nolock().
config: nios2-randconfig-002-20250411 (https://download.01.org/0day-ci/archive/20250411/202504111706.PioXoxAe-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 7.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250411/202504111706.PioXoxAe-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/202504111706.PioXoxAe-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from <command-line>:0:0:
   mm/slub.c: In function 'try_kmalloc_noprof':
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:21: note: in expansion of macro '__native_word'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
                        ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:537:9: note: in definition of macro '__compiletime_assert'
      if (!(condition))     \
            ^~~~~~~~~
   include/linux/compiler_types.h:557:2: note: in expansion of macro '_compiletime_assert'
     _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
     ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:2: note: in expansion of macro 'compiletime_assert'
     compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
     ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:2: note: in expansion of macro 'compiletime_assert_rwonce_type'
     compiletime_assert_rwonce_type(x);    \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:513:13: note: in definition of macro '__unqual_scalar_typeof'
      _Generic((x),      \
                ^
   include/asm-generic/rwonce.h:50:2: note: in expansion of macro '__READ_ONCE'
     __READ_ONCE(x);       \
     ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:513:13: note: in definition of macro '__unqual_scalar_typeof'
      _Generic((x),      \
                ^
   include/asm-generic/rwonce.h:50:2: note: in expansion of macro '__READ_ONCE'
     __READ_ONCE(x);       \
     ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/linux/compiler_types.h:513:13: note: in definition of macro '__unqual_scalar_typeof'
      _Generic((x),      \
                ^
   include/asm-generic/rwonce.h:50:2: note: in expansion of macro '__READ_ONCE'
     __READ_ONCE(x);       \
     ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
   In file included from ./arch/nios2/include/generated/asm/rwonce.h:1:0,
                    from include/linux/compiler.h:390,
                    from include/asm-generic/bug.h:5,
                    from ./arch/nios2/include/generated/asm/bug.h:1,
                    from include/linux/bug.h:5,
                    from include/linux/mmdebug.h:5,
                    from include/linux/mm.h:6,
                    from mm/slub.c:13:
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/asm-generic/rwonce.h:44:72: note: in definition of macro '__READ_ONCE'
    #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                           ^
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:263:2: note: in expansion of macro '__verify_pcpu_ptr'
     __verify_pcpu_ptr(ptr);      \
     ^~~~~~~~~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
>> mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/asm-generic/rwonce.h:44:72: note: in definition of macro '__READ_ONCE'
    #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                           ^
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:225:3: note: in expansion of macro 'TYPEOF_UNQUAL'
     (TYPEOF_UNQUAL(*(__p)) __force __kernel *)((__force unsigned long)(__p))
      ^~~~~~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~
   mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                                         ^
   include/asm-generic/rwonce.h:44:72: note: in definition of macro '__READ_ONCE'
    #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                           ^
   include/linux/local_lock_internal.h:169:33: note: in expansion of macro 'READ_ONCE'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                    ^~~~~~~~~
   include/linux/percpu-defs.h:264:2: note: in expansion of macro 'PERCPU_PTR'
     PERCPU_PTR(ptr);      \
     ^~~~~~~~~~
   include/linux/percpu-defs.h:267:26: note: in expansion of macro 'per_cpu_ptr'
    #define raw_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
                             ^~~~~~~~~~~
   include/linux/percpu-defs.h:268:27: note: in expansion of macro 'raw_cpu_ptr'
    #define this_cpu_ptr(ptr) raw_cpu_ptr(ptr)
                              ^~~~~~~~~~~
   include/linux/local_lock_internal.h:169:43: note: in expansion of macro 'this_cpu_ptr'
    #define __local_lock_held(lock) READ_ONCE(this_cpu_ptr(lock)->acquired)
                                              ^~~~~~~~~~~~
   include/linux/local_lock.h:69:32: note: in expansion of macro '__local_lock_held'
    #define local_lock_held(lock)  __local_lock_held(lock)
                                   ^~~~~~~~~~~~~~~~~
   mm/slub.c:4430:20: note: in expansion of macro 'local_lock_held'
     if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
                       ^~~~~~~~~~~~~~~


vim +4430 mm/slub.c

  4394	
  4395	void *try_kmalloc_noprof(size_t size, gfp_t gfp_flags, int node)
  4396	{
  4397		gfp_t alloc_gfp = __GFP_NOWARN | __GFP_NOMEMALLOC | gfp_flags;
  4398		struct kmem_cache *s;
  4399		bool can_retry = true;
  4400		void *ret = ERR_PTR(-EBUSY);
  4401	
  4402		VM_WARN_ON_ONCE(gfp_flags & ~(__GFP_ACCOUNT | __GFP_ZERO));
  4403	
  4404		if (unlikely(size > KMALLOC_MAX_CACHE_SIZE))
  4405			return NULL;
  4406		if (unlikely(!size))
  4407			return ZERO_SIZE_PTR;
  4408	
  4409	retry:
  4410		s = kmalloc_slab(size, NULL, alloc_gfp, _RET_IP_);
  4411	
  4412		if (!USE_LOCKLESS_FAST_PATH() || !(s->flags & __CMPXCHG_DOUBLE))
  4413			/*
  4414			 * try_kmalloc() is not supported in PREEMPT_RT and
  4415			 * on architectures that don't implement cmpxchg16b.
  4416			 */
  4417			return NULL;
  4418	
  4419		/*
  4420		 * Do not call slab_alloc_node(), since trylock mode isn't
  4421		 * compatible with slab_pre_alloc_hook/should_failslab and
  4422		 * kfence_alloc.
  4423		 *
  4424		 * In !PREEMPT_RT ___slab_alloc() manipulates (freelist,tid) pair
  4425		 * in irq saved region. It assumes that the same cpu will not
  4426		 * __update_cpu_freelist_fast() into the same (freelist,tid) pair.
  4427		 * Therefore in_nmi() check whether particular bucket is in
  4428		 * irq protected.
  4429		 */
> 4430		if (!in_nmi() || !local_lock_held(&s->cpu_slab->lock))
  4431			ret = __slab_alloc_node(s, alloc_gfp, node, _RET_IP_, size);
  4432	
  4433		if (PTR_ERR(ret) == -EBUSY) {
  4434			if (can_retry) {
  4435				/* pick the next kmalloc bucket */
  4436				size = s->object_size + 1;
  4437				/*
  4438				 * Another alternative is to
  4439				 * if (memcg) alloc_gfp &= ~__GFP_ACCOUNT;
  4440				 * else if (!memcg) alloc_gfp |= __GFP_ACCOUNT;
  4441				 * to retry from bucket of the same size.
  4442				 */
  4443				can_retry = false;
  4444				goto retry;
  4445			}
  4446			ret = NULL;
  4447		}
  4448	
  4449		maybe_wipe_obj_freeptr(s, ret);
  4450		/*
  4451		 * Make sure memcg_stock.stock_lock doesn't change cpu
  4452		 * when memcg layers access it.
  4453		 */
  4454		preempt_disable();
  4455		slab_post_alloc_hook(s, NULL, alloc_gfp, 1, &ret,
  4456				     slab_want_init_on_alloc(alloc_gfp, s), size);
  4457		preempt_enable();
  4458	
  4459		ret = kasan_kmalloc(s, ret, size, alloc_gfp);
  4460		return ret;
  4461	}
  4462	EXPORT_SYMBOL_GPL(try_kmalloc_noprof);
  4463	

-- 
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:[~2025-04-11  9:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-11  9:27 [ast-bpf:trylock 7/7] mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab' kernel test robot

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.