lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 18 Jun 2022 06:44:19 +0800
From:   kernel test robot <lkp@...el.com>
To:     Daniel Borkmann <daniel@...earbox.net>
Cc:     kbuild-all@...ts.01.org, Daniel Borkmann <daniel@...earbox.net>,
        linux-kernel@...r.kernel.org
Subject: [cilium:pr/meta4 2/2] arch/arm64/include/asm/barrier.h:130:41:
 error: invalid type argument of unary '*' (have 'int')

tree:   https://github.com/cilium/linux.git pr/meta4
head:   dcea837b60f0d9f8f3cdae284680659042f560d1
commit: dcea837b60f0d9f8f3cdae284680659042f560d1 [2/2] bpf: Add fd-based API to attach tc BPF programs
config: arm64-randconfig-r016-20220617 (https://download.01.org/0day-ci/archive/20220618/202206180602.gtyL07Si-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/cilium/linux/commit/dcea837b60f0d9f8f3cdae284680659042f560d1
        git remote add cilium https://github.com/cilium/linux.git
        git fetch --no-tags cilium pr/meta4
        git checkout dcea837b60f0d9f8f3cdae284680659042f560d1
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash kernel/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>

All error/warnings (new ones prefixed by >>):

         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:39: error: 'struct net_device' has no member named 'sch_ingress'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:39: error: 'struct net_device' has no member named 'sch_ingress'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:39: error: 'struct net_device' has no member named 'sch_ingress'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/list.h:11,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/net/sch_generic.h:1361:39: error: 'struct net_device' has no member named 'sch_ingress'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                                       ^~
   arch/arm64/include/asm/barrier.h:126:40: note: in definition of macro '__smp_store_release'
     126 |         kasan_check_write(__p, sizeof(*p));                             \
         |                                        ^
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/barrier.h:126:27: warning: passing argument 1 of 'kasan_check_write' makes pointer from integer without a cast [-Wint-conversion]
     126 |         kasan_check_write(__p, sizeof(*p));                             \
         |                           ^~~
         |                           |
         |                           int
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/rwonce.h:26,
                    from arch/arm64/include/asm/rwonce.h:71,
                    from include/linux/compiler.h:248,
                    from include/linux/build_bug.h:5,
                    from include/linux/container_of.h:5,
                    from include/linux/list.h:5,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/linux/kasan-checks.h:44:59: note: expected 'const volatile void *' but argument is of type 'int'
      44 | static inline bool kasan_check_write(const volatile void *p, unsigned int size)
         |                                      ~~~~~~~~~~~~~~~~~~~~~^
   In file included from include/linux/list.h:11,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/net/sch_generic.h:1361:39: error: 'struct net_device' has no member named 'sch_ingress'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                                       ^~
   arch/arm64/include/asm/barrier.h:127:25: note: in definition of macro '__smp_store_release'
     127 |         switch (sizeof(*p)) {                                           \
         |                         ^
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/barrier.h:130:41: error: invalid type argument of unary '*' (have 'int')
     130 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:136:41: error: invalid type argument of unary '*' (have 'int')
     136 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:142:41: error: invalid type argument of unary '*' (have 'int')
     142 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:148:41: error: invalid type argument of unary '*' (have 'int')
     148 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1361:17: note: in expansion of macro 'rcu_assign_pointer'
    1361 |                 rcu_assign_pointer(dev->sch_ingress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from <command-line>:
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |         ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |                            ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
      60 |         compiletime_assert_rwonce_type(x);                              \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:454:17: note: in expansion of macro 'WRITE_ONCE'
     454 |                 WRITE_ONCE((p), (typeof(p))(_r_a_p__v));                      \
         |                 ^~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |         ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |                            ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:60:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
      60 |         compiletime_assert_rwonce_type(x);                              \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:454:17: note: in expansion of macro 'WRITE_ONCE'
     454 |                 WRITE_ONCE((p), (typeof(p))(_r_a_p__v));                      \
         |                 ^~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
--
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:9: note: in expansion of macro 'compiletime_assert'
     355 |         compiletime_assert(__native_word(t),                            \
         |         ^~~~~~~~~~~~~~~~~~
   include/linux/compiler_types.h:355:28: note: in expansion of macro '__native_word'
     355 |         compiletime_assert(__native_word(t),                            \
         |                            ^~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:125:9: note: in expansion of macro 'compiletime_assert_atomic_type'
     125 |         compiletime_assert_atomic_type(*p);                             \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/list.h:11,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   arch/arm64/include/asm/barrier.h:126:40: note: in definition of macro '__smp_store_release'
     126 |         kasan_check_write(__p, sizeof(*p));                             \
         |                                        ^
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/barrier.h:126:27: warning: passing argument 1 of 'kasan_check_write' makes pointer from integer without a cast [-Wint-conversion]
     126 |         kasan_check_write(__p, sizeof(*p));                             \
         |                           ^~~
         |                           |
         |                           int
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from include/asm-generic/rwonce.h:26,
                    from arch/arm64/include/asm/rwonce.h:71,
                    from include/linux/compiler.h:248,
                    from include/linux/build_bug.h:5,
                    from include/linux/container_of.h:5,
                    from include/linux/list.h:5,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/linux/kasan-checks.h:44:59: note: expected 'const volatile void *' but argument is of type 'int'
      44 | static inline bool kasan_check_write(const volatile void *p, unsigned int size)
         |                                      ~~~~~~~~~~~~~~~~~~~~~^
   In file included from include/linux/list.h:11,
                    from include/linux/module.h:12,
                    from kernel/sysctl.c:22:
   include/net/sch_generic.h:1363:39: error: 'struct net_device' has no member named 'sch_egress'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                                       ^~
   arch/arm64/include/asm/barrier.h:127:25: note: in definition of macro '__smp_store_release'
     127 |         switch (sizeof(*p)) {                                           \
         |                         ^
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
>> arch/arm64/include/asm/barrier.h:130:41: error: invalid type argument of unary '*' (have 'int')
     130 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:136:41: error: invalid type argument of unary '*' (have 'int')
     136 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:142:41: error: invalid type argument of unary '*' (have 'int')
     142 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   arch/arm64/include/asm/barrier.h:148:41: error: invalid type argument of unary '*' (have 'int')
     148 |                                 : "=Q" (*__p)                           \
         |                                         ^~~~
   include/asm-generic/barrier.h:164:55: note: in expansion of macro '__smp_store_release'
     164 | #define smp_store_release(p, v) do { kcsan_release(); __smp_store_release(p, v); } while (0)
         |                                                       ^~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:456:17: note: in expansion of macro 'smp_store_release'
     456 |                 smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
         |                 ^~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1363:17: note: in expansion of macro 'rcu_assign_pointer'
    1363 |                 rcu_assign_pointer(dev->sch_egress, entry);
         |                 ^~~~~~~~~~~~~~~~~~
   In file included from include/linux/rculist.h:11,
                    from include/linux/pid.h:5,
                    from include/linux/sched.h:14,
                    from arch/arm64/include/asm/compat.h:28,
                    from arch/arm64/include/asm/stat.h:13,
                    from include/linux/stat.h:6,
                    from include/linux/module.h:13,
                    from kernel/sysctl.c:22:
   include/net/sch_generic.h: In function 'dev_sch_entry_fetch':
   include/net/sch_generic.h:1399:36: error: 'struct net_device' has no member named 'sch_ingress'
    1399 |                 rcu_dereference(dev->sch_ingress) :
         |                                    ^~
   include/linux/rcupdate.h:392:17: note: in definition of macro '__rcu_dereference_check'
     392 |         typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
         |                 ^
   include/linux/rcupdate.h:604:28: note: in expansion of macro 'rcu_dereference_check'
     604 | #define rcu_dereference(p) rcu_dereference_check(p, 0)
         |                            ^~~~~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1399:17: note: in expansion of macro 'rcu_dereference'
    1399 |                 rcu_dereference(dev->sch_ingress) :
         |                 ^~~~~~~~~~~~~~~
   include/net/sch_generic.h:1399:36: error: 'struct net_device' has no member named 'sch_ingress'
    1399 |                 rcu_dereference(dev->sch_ingress) :
         |                                    ^~
   include/linux/rcupdate.h:392:38: note: in definition of macro '__rcu_dereference_check'
     392 |         typeof(*p) *local = (typeof(*p) *__force)READ_ONCE(p); \
         |                                      ^
   include/linux/rcupdate.h:604:28: note: in expansion of macro 'rcu_dereference_check'
     604 | #define rcu_dereference(p) rcu_dereference_check(p, 0)
         |                            ^~~~~~~~~~~~~~~~~~~~~
   include/net/sch_generic.h:1399:17: note: in expansion of macro 'rcu_dereference'
    1399 |                 rcu_dereference(dev->sch_ingress) :
         |                 ^~~~~~~~~~~~~~~
   In file included from <command-line>:
   include/net/sch_generic.h:1399:36: error: 'struct net_device' has no member named 'sch_ingress'
    1399 |                 rcu_dereference(dev->sch_ingress) :
         |                                    ^~
   include/linux/compiler_types.h:332:23: note: in definition of macro '__compiletime_assert'
     332 |                 if (!(condition))                                       \
         |                       ^~~~~~~~~
   include/linux/compiler_types.h:352:9: note: in expansion of macro '_compiletime_assert'
     352 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
         |         ^~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |         ^~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
      36 |         compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
         |                            ^~~~~~~~~~~~~
   include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
      49 |         compiletime_assert_rwonce_type(x);                              \
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rcupdate.h:392:50: note: in expansion of macro 'READ_ONCE'
..


vim +130 arch/arm64/include/asm/barrier.h

47933ad41a86a4 Peter Zijlstra     2013-11-06  119  
fd072df850e536 Michael S. Tsirkin 2015-12-27  120  #define __smp_store_release(p, v)					\
47933ad41a86a4 Peter Zijlstra     2013-11-06  121  do {									\
131e135f7fd14b Mark Rutland       2019-04-09  122  	typeof(p) __p = (p);						\
10223c5286f738 Will Deacon        2019-12-19  123  	union { __unqual_scalar_typeof(*p) __val; char __c[1]; } __u =	\
10223c5286f738 Will Deacon        2019-12-19  124  		{ .__val = (__force __unqual_scalar_typeof(*p)) (v) };	\
47933ad41a86a4 Peter Zijlstra     2013-11-06  125  	compiletime_assert_atomic_type(*p);				\
131e135f7fd14b Mark Rutland       2019-04-09 @126  	kasan_check_write(__p, sizeof(*p));				\
47933ad41a86a4 Peter Zijlstra     2013-11-06 @127  	switch (sizeof(*p)) {						\
878a84d5a8a18a Andre Przywara     2015-04-20  128  	case 1:								\
878a84d5a8a18a Andre Przywara     2015-04-20  129  		asm volatile ("stlrb %w1, %0"				\
131e135f7fd14b Mark Rutland       2019-04-09 @130  				: "=Q" (*__p)				\
994870bead4ab1 Mark Rutland       2017-05-03  131  				: "r" (*(__u8 *)__u.__c)		\
994870bead4ab1 Mark Rutland       2017-05-03  132  				: "memory");				\
878a84d5a8a18a Andre Przywara     2015-04-20  133  		break;							\
878a84d5a8a18a Andre Przywara     2015-04-20  134  	case 2:								\
878a84d5a8a18a Andre Przywara     2015-04-20  135  		asm volatile ("stlrh %w1, %0"				\
131e135f7fd14b Mark Rutland       2019-04-09  136  				: "=Q" (*__p)				\
994870bead4ab1 Mark Rutland       2017-05-03  137  				: "r" (*(__u16 *)__u.__c)		\
994870bead4ab1 Mark Rutland       2017-05-03  138  				: "memory");				\
878a84d5a8a18a Andre Przywara     2015-04-20  139  		break;							\
47933ad41a86a4 Peter Zijlstra     2013-11-06  140  	case 4:								\
47933ad41a86a4 Peter Zijlstra     2013-11-06  141  		asm volatile ("stlr %w1, %0"				\
131e135f7fd14b Mark Rutland       2019-04-09  142  				: "=Q" (*__p)				\
994870bead4ab1 Mark Rutland       2017-05-03  143  				: "r" (*(__u32 *)__u.__c)		\
994870bead4ab1 Mark Rutland       2017-05-03  144  				: "memory");				\
47933ad41a86a4 Peter Zijlstra     2013-11-06  145  		break;							\
47933ad41a86a4 Peter Zijlstra     2013-11-06  146  	case 8:								\
47933ad41a86a4 Peter Zijlstra     2013-11-06  147  		asm volatile ("stlr %1, %0"				\
131e135f7fd14b Mark Rutland       2019-04-09  148  				: "=Q" (*__p)				\
994870bead4ab1 Mark Rutland       2017-05-03  149  				: "r" (*(__u64 *)__u.__c)		\
994870bead4ab1 Mark Rutland       2017-05-03  150  				: "memory");				\
47933ad41a86a4 Peter Zijlstra     2013-11-06  151  		break;							\
47933ad41a86a4 Peter Zijlstra     2013-11-06  152  	}								\
47933ad41a86a4 Peter Zijlstra     2013-11-06  153  } while (0)
47933ad41a86a4 Peter Zijlstra     2013-11-06  154  

:::::: The code at line 130 was first introduced by commit
:::::: 131e135f7fd14b1de7a5eb26631076705c18073f arm64: instrument smp_{load_acquire,store_release}

:::::: TO: Mark Rutland <mark.rutland@....com>
:::::: CC: Will Deacon <will.deacon@....com>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ