linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [viro-vfs:work.csum-x86 4/18] net/core/datagram.c:745:55: sparse: sparse: incorrect type in argument 1 (different base types)
@ 2023-11-24 17:50 kernel test robot
  2023-11-24 18:29 ` Al Viro
  0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2023-11-24 17:50 UTC (permalink / raw)
  To: Al Viro; +Cc: oe-kbuild-all, linux-fsdevel

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@intel.com/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@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202311250023.ySjyjo9L-lkp@intel.com/

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]

vim +745 net/core/datagram.c

   737	
   738	static __always_inline
   739	size_t copy_to_user_iter_csum(void __user *iter_to, size_t progress,
   740				      size_t len, void *from, void *priv2)
   741	{
   742		__wsum *csum = priv2;
   743		__wsum_fault next = csum_and_copy_to_user(from + progress, iter_to, len);
   744	
 > 745		*csum = csum_block_add(*csum, from_wsum_fault(next), progress);
   746		return !wsum_is_fault(next) ? 0 : len;
   747	}
   748	

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [viro-vfs:work.csum-x86 4/18] net/core/datagram.c:745:55: sparse: sparse: incorrect type in argument 1 (different base types)
  2023-11-24 17:50 [viro-vfs:work.csum-x86 4/18] net/core/datagram.c:745:55: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot
@ 2023-11-24 18:29 ` Al Viro
  0 siblings, 0 replies; 2+ messages in thread
From: Al Viro @ 2023-11-24 18:29 UTC (permalink / raw)
  To: kernel test robot; +Cc: oe-kbuild-all, linux-fsdevel

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@intel.com/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@intel.com/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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202311250023.ySjyjo9L-lkp@intel.com/
> 
> 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...

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-11-24 18:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-24 17:50 [viro-vfs:work.csum-x86 4/18] net/core/datagram.c:745:55: sparse: sparse: incorrect type in argument 1 (different base types) kernel test robot
2023-11-24 18:29 ` Al Viro

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).