RE: [PATCH] x86: Optimise x86 IP checksum code
From: David Laight
Date: Mon Dec 09 2019 - 12:13:04 EST
From: kbuild test robot
> Sent: 06 December 2019 01:45
>
> [auto build test WARNING on tip/auto-latest]
> [also build test WARNING on tip/x86/core linus/master v5.4 next-20191202]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url: https://github.com/0day-ci/linux/commits/David-Laight/x86-Optimise-x86-IP-checksum-code/20191203-211313
> base: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git e445033e58108a9891abfbc0dea90b066a75e4a9
> reproduce:
> # apt-get install sparse
> # sparse version: v0.6.1-91-g817270f-dirty
> make ARCH=x86_64 allmodconfig
> make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
>
>
> sparse warnings: (new ones prefixed by >>)
>
> >> arch/x86/lib/csum-partial_64.c:141:23: sparse: sparse: incorrect type in return expression (different base types) @@ expected
> restricted __wsum @@ got icted __wsum @@
> >> arch/x86/lib/csum-partial_64.c:141:23: sparse: expected restricted __wsum
> >> arch/x86/lib/csum-partial_64.c:141:23: sparse: got unsigned int
>
> vim +141 arch/x86/lib/csum-partial_64.c
>
...
> 138 */
> 139 __wsum csum_partial(const void *buff, int len, __wsum sum)
> 140 {
> > 141 return do_csum(buff, len, (__force u32)sum);
> 142 }
> 143 EXPORT_SYMBOL(csum_partial);
> 144
I can regenerate the patch with the (__force __wsum) cast added back in.
Anyone going to review the changes?
I've tested all (I hope) of the corner cases in a user-space test program.
David
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)