Mailing List Archive

[tip:locking/rcuref 2/2] arch/arm64/include/asm/cmpxchg.h:174:1: sparse: sparse: cast truncates bits from constant value (ffffffffe0000000 becomes 0)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/rcuref
head: ee1ee6db07795d9637bc5e8993a8ddcf886541ef
commit: ee1ee6db07795d9637bc5e8993a8ddcf886541ef [2/2] atomics: Provide rcuref - scalable reference counting
config: arm64-randconfig-s041-20230329 (https://download.01.org/0day-ci/archive/20230330/202303301144.szF9LGFj-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 12.1.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.4-39-gce1a6720-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=ee1ee6db07795d9637bc5e8993a8ddcf886541ef
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip locking/rcuref
git checkout ee1ee6db07795d9637bc5e8993a8ddcf886541ef
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 olddefconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303301144.szF9LGFj-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
lib/rcuref.c: note: in included file (through arch/arm64/include/asm/atomic.h, include/linux/atomic.h, include/linux/rcuref.h):
>> arch/arm64/include/asm/cmpxchg.h:174:1: sparse: sparse: cast truncates bits from constant value (ffffffffe0000000 becomes 0)
>> arch/arm64/include/asm/cmpxchg.h:174:1: sparse: sparse: cast truncates bits from constant value (ffffffffe0000000 becomes 0)

vim +174 arch/arm64/include/asm/cmpxchg.h

10b663aef1c247 Catalin Marinas 2012-03-05 171
305d454aaa292b Will Deacon 2015-10-08 172 __CMPXCHG_GEN()
305d454aaa292b Will Deacon 2015-10-08 173 __CMPXCHG_GEN(_acq)
305d454aaa292b Will Deacon 2015-10-08 @174 __CMPXCHG_GEN(_rel)
305d454aaa292b Will Deacon 2015-10-08 175 __CMPXCHG_GEN(_mb)
10b663aef1c247 Catalin Marinas 2012-03-05 176

:::::: The code at line 174 was first introduced by commit
:::::: 305d454aaa292be3a09a9d674e6c35f5b4249a13 arm64: atomics: implement native {relaxed, acquire, release} atomics

:::::: TO: Will Deacon <will.deacon@arm.com>
:::::: CC: Catalin Marinas <catalin.marinas@arm.com>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests