All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Alexei Starovoitov <ast@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [ast-bpf:trylock 7/7] mm/slub.c:4430:38: error: 'struct kmem_cache' has no member named 'cpu_slab'
Date: Fri, 11 Apr 2025 17:27:42 +0800	[thread overview]
Message-ID: <202504111706.PioXoxAe-lkp@intel.com> (raw)

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

                 reply	other threads:[~2025-04-11  9:27 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=202504111706.PioXoxAe-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=ast@kernel.org \
    --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.