include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar

From: kernel test robot

Date: Mon Dec 22 2025 - 14:45:22 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b927546677c876e26eba308550207c2ddf812a43
commit: e84a4927a404f369c842c19de93b216627fcc690 net: annotate races around sk->sk_uid
date: 6 months ago
config: alpha-randconfig-r134-20251222 (https://download.01.org/0day-ci/archive/20251223/202512230343.rktGLbEZ-lkp@xxxxxxxxx/config)
compiler: alpha-linux-gcc (GCC) 13.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251223/202512230343.rktGLbEZ-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
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202512230343.rktGLbEZ-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
net/ipv6/inet6_connection_sock.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/ping.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h, include/net/addrconf.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/af_inet6.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h, include/linux/icmpv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/datagram.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/raw.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h, include/linux/icmpv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/tcp_ipv6.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
net/ipv6/tcp_ipv6.c:1565:25: sparse: sparse: context imbalance in 'tcp_v6_syn_recv_sock' - unexpected unlock
net/ipv6/tcp_ipv6.c:1956:21: sparse: sparse: context imbalance in 'tcp_v6_rcv' - different lock contexts for basic block
--
net/ipv6/udp.c: note: in included file (through include/linux/bpf-cgroup.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/netfilter.c: note: in included file (through include/linux/tcp.h, include/linux/ipv6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
--
net/ipv6/route.c:2382:39: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] flow_label @@ got restricted __be32 @@
net/ipv6/route.c:2382:39: sparse: expected unsigned int [usertype] flow_label
net/ipv6/route.c:2382:39: sparse: got restricted __be32
net/ipv6/route.c: note: in included file (through include/linux/mroute_base.h, include/linux/mroute6.h):
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar
include/net/sock.h:2100:16: sparse: sparse: cast to non-scalar
>> include/net/sock.h:2100:16: sparse: sparse: cast from non-scalar

vim +2100 include/net/sock.h

2096
2097 static inline kuid_t sk_uid(const struct sock *sk)
2098 {
2099 /* Paired with WRITE_ONCE() in sockfs_setattr() */
> 2100 return READ_ONCE(sk->sk_uid);
2101 }
2102

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