arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)

From: kernel test robot
Date: Sat Jan 16 2021 - 19:50:45 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 0da0a8a0a0e1845f495431c3d8d733d2bbf9e9e5
commit: 4beba9486abd2f86d125271d6946f7c38ed0fe77 mm: Add PG_arch_2 page flag
date: 5 months ago
config: arm64-randconfig-s031-20210117 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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.3-208-g46a52ca4-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4beba9486abd2f86d125271d6946f7c38ed0fe77
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4beba9486abd2f86d125271d6946f7c38ed0fe77
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


"sparse warnings: (new ones prefixed by >>)"
mm/migrate.c: note: in included file (through arch/arm64/include/asm/atomic.h, include/linux/atomic.h, include/asm-generic/bitops/atomic.h, ...):
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
--
>> mm/memory.c:89:2: sparse: sparse: Unfortunate NUMA and NUMA Balancing config, growing page-frame for last_cpupid.
mm/memory.c:829:17: sparse: sparse: context imbalance in 'copy_pte_range' - different lock contexts for basic block
mm/memory.c:1450:16: sparse: sparse: context imbalance in '__get_locked_pte' - different lock contexts for basic block
mm/memory.c:1499:9: sparse: sparse: context imbalance in 'insert_page' - different lock contexts for basic block
mm/memory.c:2001:17: sparse: sparse: context imbalance in 'remap_pte_range' - different lock contexts for basic block
mm/memory.c:2242:17: sparse: sparse: context imbalance in 'apply_to_pte_range' - unexpected unlock
mm/memory.c:2491:17: sparse: sparse: context imbalance in 'wp_page_copy' - unexpected unlock
mm/memory.c: note: in included file (through arch/arm64/include/asm/atomic.h, include/linux/atomic.h, include/asm-generic/bitops/atomic.h, ...):
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
mm/memory.c:2835:17: sparse: sparse: context imbalance in 'wp_pfn_shared' - unexpected unlock
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
>> arch/arm64/include/asm/cmpxchg.h:88:1: sparse: sparse: cast truncates bits from constant value (ffff becomes ff)
mm/memory.c:2898:19: sparse: sparse: context imbalance in 'do_wp_page' - different lock contexts for basic block
mm/memory.c:3495:19: sparse: sparse: context imbalance in 'pte_alloc_one_map' - different lock contexts for basic block
mm/memory.c:3721:17: sparse: sparse: context imbalance in 'finish_fault' - unexpected unlock
mm/memory.c:3830:9: sparse: sparse: context imbalance in 'do_fault_around' - unexpected unlock
mm/memory.c:4549:12: sparse: sparse: context imbalance in '__follow_pte_pmd' - different lock contexts for basic block
mm/memory.c:4635:16: sparse: sparse: context imbalance in 'follow_pte_pmd' - different lock contexts for basic block

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

10b663aef1c24794 Catalin Marinas 2012-03-05 84
305d454aaa292be3 Will Deacon 2015-10-08 85 __XCHG_GEN()
305d454aaa292be3 Will Deacon 2015-10-08 86 __XCHG_GEN(_acq)
305d454aaa292be3 Will Deacon 2015-10-08 87 __XCHG_GEN(_rel)
305d454aaa292be3 Will Deacon 2015-10-08 @88 __XCHG_GEN(_mb)
305d454aaa292be3 Will Deacon 2015-10-08 89

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

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

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip