Re: [PATCH net-next v1] net: Use csum_replace_... and csum_sub() helpers instead of opencoding

From: kernel test robot
Date: Fri Feb 18 2022 - 02:44:34 EST


Hi Christophe,

I love your patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url: https://github.com/0day-ci/linux/commits/Christophe-Leroy/net-Use-csum_replace_-and-csum_sub-helpers-instead-of-opencoding/20220217-234555
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git c8b441d2fbd0e005541c7363fd5346971b6febcb
config: x86_64-rhel-8.3-kselftests (https://download.01.org/0day-ci/archive/20220218/202202181535.l3nA3dto-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/cec9ed7cf59fe6dafcec0a30811024d22fad8cbd
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Christophe-Leroy/net-Use-csum_replace_-and-csum_sub-helpers-instead-of-opencoding/20220217-234555
git checkout cec9ed7cf59fe6dafcec0a30811024d22fad8cbd
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
net/netfilter/nft_payload.c: note: in included file (through include/net/sctp/sctp.h, include/net/sctp/checksum.h):
include/net/sctp/structs.h:335:41: sparse: sparse: array of flexible structures
>> net/netfilter/nft_payload.c:560:28: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] from @@ got restricted __wsum [usertype] fsum @@
net/netfilter/nft_payload.c:560:28: sparse: expected restricted __be32 [usertype] from
net/netfilter/nft_payload.c:560:28: sparse: got restricted __wsum [usertype] fsum
>> net/netfilter/nft_payload.c:560:34: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] to @@ got restricted __wsum [usertype] tsum @@
net/netfilter/nft_payload.c:560:34: sparse: expected restricted __be32 [usertype] to
net/netfilter/nft_payload.c:560:34: sparse: got restricted __wsum [usertype] tsum
>> net/netfilter/nft_payload.c:560:28: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected restricted __be32 [usertype] from @@ got restricted __wsum [usertype] fsum @@
net/netfilter/nft_payload.c:560:28: sparse: expected restricted __be32 [usertype] from
net/netfilter/nft_payload.c:560:28: sparse: got restricted __wsum [usertype] fsum
>> net/netfilter/nft_payload.c:560:34: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected restricted __be32 [usertype] to @@ got restricted __wsum [usertype] tsum @@
net/netfilter/nft_payload.c:560:34: sparse: expected restricted __be32 [usertype] to
net/netfilter/nft_payload.c:560:34: sparse: got restricted __wsum [usertype] tsum

vim +560 net/netfilter/nft_payload.c

557
558 static inline void nft_csum_replace(__sum16 *sum, __wsum fsum, __wsum tsum)
559 {
> 560 csum_replace4(sum, fsum, tsum);
561 if (*sum == 0)
562 *sum = CSUM_MANGLED_0;
563 }
564

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx