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: i386-randconfig-061-20231124 (https://download.01.org/0day-ci/archive/20231125/202311250010.dikaDI0D-lkp@xxxxxxxxx/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231125/202311250010.dikaDI0D-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/202311250010.dikaDI0D-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) net/ipv4/raw.c: note: in included file (through arch/x86/include/asm/checksum.h, include/net/checksum.h, include/linux/skbuff.h, ...): >> arch/x86/include/asm/checksum_32.h:41:57: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __wsum [usertype] v @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:57: sparse: expected restricted __wsum [usertype] v arch/x86/include/asm/checksum_32.h:41:57: sparse: got restricted __wsum_fault >> arch/x86/include/asm/checksum_32.h:41:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __wsum @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:31: sparse: expected restricted __wsum arch/x86/include/asm/checksum_32.h:41:31: sparse: got restricted __wsum_fault net/ipv4/raw.c: note: in included file (through include/linux/skbuff.h, include/linux/pim.h, include/linux/mroute.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/ipv4/ip_output.c: note: in included file (through arch/x86/include/asm/checksum.h, include/net/checksum.h, include/linux/skbuff.h, ...): >> arch/x86/include/asm/checksum_32.h:41:57: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __wsum [usertype] v @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:57: sparse: expected restricted __wsum [usertype] v arch/x86/include/asm/checksum_32.h:41:57: sparse: got restricted __wsum_fault >> arch/x86/include/asm/checksum_32.h:41:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __wsum @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:31: sparse: expected restricted __wsum arch/x86/include/asm/checksum_32.h:41:31: sparse: got restricted __wsum_fault net/ipv4/ip_output.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/ipv4/icmp.c: note: in included file (through arch/x86/include/asm/checksum.h, include/net/checksum.h, include/linux/skbuff.h, ...): >> arch/x86/include/asm/checksum_32.h:41:57: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected restricted __wsum [usertype] v @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:57: sparse: expected restricted __wsum [usertype] v arch/x86/include/asm/checksum_32.h:41:57: sparse: got restricted __wsum_fault >> arch/x86/include/asm/checksum_32.h:41:31: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted __wsum @@ got restricted __wsum_fault @@ arch/x86/include/asm/checksum_32.h:41:31: sparse: expected restricted __wsum arch/x86/include/asm/checksum_32.h:41:31: sparse: got restricted __wsum_fault net/ipv4/icmp.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/ipv4/icmp.c: note: in included file (through include/linux/spinlock.h, include/linux/mmzone.h, include/linux/gfp.h, ...): include/linux/bottom_half.h:33:30: sparse: sparse: context imbalance in 'icmp_reply' - different lock contexts for basic block include/linux/bottom_half.h:33:30: sparse: sparse: context imbalance in '__icmp_send' - different lock contexts for basic block net/ipv4/icmp.c: note: in included file (through include/linux/skbuff.h, include/net/net_namespace.h, include/linux/inet.h): include/net/checksum.h:95:59: sparse: sparse: self-comparison always evaluates to false vim +41 arch/x86/include/asm/checksum_32.h 31 32 /* 33 * Note: when you get a NULL pointer exception here this means someone 34 * passed in an incorrect kernel address to one of these functions. 35 * 36 * If you use these functions directly please don't forget the 37 * access_ok(). 38 */ 39 static inline __wsum csum_partial_copy_nocheck(const void *src, void *dst, int len) 40 { > 41 return from_wsum_fault(csum_partial_copy_generic(src, dst, len)); 42 } 43 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki