kernel/futex/core.c:62:16: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)

From: kernel test robot

Date: Thu Sep 10 2026 - 21:00:31 EST


Hi Peter,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 08df884136f1c1197bab2a27814404fd329d9aac
commit: b78b0b65825275f58336a43611a700de174be8c3 futex: Use runtime constants for __futex_hash() hot path
date: 6 weeks ago
config: i386-randconfig-063-20260911 (https://download.01.org/0day-ci/archive/20260911/202609110834.wO7fAXlN-lkp@xxxxxxxxx/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260911/202609110834.wO7fAXlN-lkp@xxxxxxxxx/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
| Fixes: b78b0b658252 ("futex: Use runtime constants for __futex_hash() hot path")
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202609110834.wO7fAXlN-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
kernel/futex/core.c:532:38: sparse: sparse: cast removes address space '__user' of expression
kernel/futex/core.c:532:51: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] [usertype] __user *naddr @@ got void * @@
kernel/futex/core.c:532:51: sparse: expected unsigned int [noderef] [usertype] __user *naddr
kernel/futex/core.c:532:51: sparse: got void *
kernel/futex/core.c:548:38: sparse: sparse: cast removes address space '__user' of expression
kernel/futex/core.c:548:51: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected unsigned int [noderef] [usertype] __user *naddr @@ got void * @@
kernel/futex/core.c:548:51: sparse: expected unsigned int [noderef] [usertype] __user *naddr
kernel/futex/core.c:548:51: sparse: got void *
>> kernel/futex/core.c:62:16: sparse: sparse: cast truncates bits from constant value (123456789abcdef becomes 89abcdef)

vim +62 kernel/futex/core.c

59
60 static __always_inline struct futex_hash_bucket **futex_queues(void)
61 {
> 62 return runtime_const_ptr(__futex_queues);
63 }
64

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