On Sat, Nov 25, 2023 at 01:50:33AM +0800, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.csum-x86 > head: f6c1313680f1d2319d2061c63abeb76f820319b8 > commit: 90c2bfd06916ac7c05129b36683bfd3424d8e0e4 [4/18] Fix the csum_and_copy_..._user() idiocy > config: x86_64-randconfig-123-20231124 (https://download.01.org/0day-ci/archive/20231125/202311250023.ySjyjo9L-lkp@xxxxxxxxx/config) > compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231125/202311250023.ySjyjo9L-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/202311250023.ySjyjo9L-lkp@xxxxxxxxx/ > > sparse warnings: (new ones prefixed by >>) > >> net/core/datagram.c:745:55: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __wsum [usertype] v @@ got restricted __wsum_fault [usertype] next @@ > net/core/datagram.c:745:55: sparse: expected restricted __wsum [usertype] v > net/core/datagram.c:745:55: sparse: got restricted __wsum_fault [usertype] next > >> net/core/datagram.c:745:54: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] csum2 @@ got restricted __wsum_fault @@ > net/core/datagram.c:745:54: sparse: expected restricted __wsum [usertype] csum2 > net/core/datagram.c:745:54: sparse: got restricted __wsum_fault > net/core/datagram.c: note: in included file (through include/linux/skbuff.h, include/net/net_namespace.h, include/linux/inet.h): > include/net/checksum.h:36:17: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __wsum_fault @@ got restricted __wsum [usertype] @@ > include/net/checksum.h:36:17: sparse: expected restricted __wsum_fault > include/net/checksum.h:36:17: sparse: got restricted __wsum [usertype] > -- > >> net/core/skbuff.c:6971:55: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __wsum [usertype] v @@ got restricted __wsum_fault [usertype] next @@ > net/core/skbuff.c:6971:55: sparse: expected restricted __wsum [usertype] v > net/core/skbuff.c:6971:55: sparse: got restricted __wsum_fault [usertype] next > >> net/core/skbuff.c:6971:54: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __wsum [usertype] csum2 @@ got restricted __wsum_fault @@ > net/core/skbuff.c:6971:54: sparse: expected restricted __wsum [usertype] csum2 > net/core/skbuff.c:6971:54: sparse: got restricted __wsum_fault > net/core/skbuff.c: note: in included file (through include/net/net_namespace.h, include/linux/inet.h): > include/linux/skbuff.h:2703:28: sparse: sparse: self-comparison always evaluates to false > net/core/skbuff.c: note: in included file (through include/linux/skbuff.h, include/net/net_namespace.h, include/linux/inet.h): > include/net/checksum.h:36:17: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __wsum_fault @@ got restricted __wsum [usertype] @@ > include/net/checksum.h:36:17: sparse: expected restricted __wsum_fault > include/net/checksum.h:36:17: sparse: got restricted __wsum [usertype] Gyah... misannotated from_wsum_fault() - argument is __wsum_fault and result is __wsum, not the other way round. Fixed and force-pushed...