arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer

From: kernel test robot
Date: Thu Nov 02 2023 - 10:16:53 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 21e80f3841c01aeaf32d7aee7bbc87b3db1aa0c6
commit: b38460bc463c54e0c15ff3b37e81f7e2059bb9bb kunit: Fix checksum tests on big endian CPUs
date: 10 weeks ago
config: nios2-randconfig-r121-20231102 (https://download.01.org/0day-ci/archive/20231102/202311022246.5tfOUz5a-lkp@xxxxxxxxx/config)
compiler: nios2-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20231102/202311022246.5tfOUz5a-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/202311022246.5tfOUz5a-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
lib/checksum_kunit.c: note: in included file:
>> arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer
>> arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer
>> arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer
>> arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer
>> arch/nios2/include/asm/checksum.h:30:24: sparse: sparse: restricted __wsum degrades to integer

vim +30 arch/nios2/include/asm/checksum.h

eea9507a69d637 Ley Foon Tan 2014-11-06 17
eea9507a69d637 Ley Foon Tan 2014-11-06 18 /*
eea9507a69d637 Ley Foon Tan 2014-11-06 19 * Fold a partial checksum
eea9507a69d637 Ley Foon Tan 2014-11-06 20 */
eea9507a69d637 Ley Foon Tan 2014-11-06 21 static inline __sum16 csum_fold(__wsum sum)
eea9507a69d637 Ley Foon Tan 2014-11-06 22 {
eea9507a69d637 Ley Foon Tan 2014-11-06 23 __asm__ __volatile__(
eea9507a69d637 Ley Foon Tan 2014-11-06 24 "add %0, %1, %0\n"
eea9507a69d637 Ley Foon Tan 2014-11-06 25 "cmpltu r8, %0, %1\n"
eea9507a69d637 Ley Foon Tan 2014-11-06 26 "srli %0, %0, 16\n"
eea9507a69d637 Ley Foon Tan 2014-11-06 27 "add %0, %0, r8\n"
eea9507a69d637 Ley Foon Tan 2014-11-06 28 "nor %0, %0, %0\n"
eea9507a69d637 Ley Foon Tan 2014-11-06 29 : "=r" (sum)
eea9507a69d637 Ley Foon Tan 2014-11-06 @30 : "r" (sum << 16), "0" (sum)
eea9507a69d637 Ley Foon Tan 2014-11-06 31 : "r8");
eea9507a69d637 Ley Foon Tan 2014-11-06 32 return (__force __sum16) sum;
eea9507a69d637 Ley Foon Tan 2014-11-06 33 }
eea9507a69d637 Ley Foon Tan 2014-11-06 34

:::::: The code at line 30 was first introduced by commit
:::::: eea9507a69d637d52705de8703b168bf6bfe5643 nios2: Library functions

:::::: TO: Ley Foon Tan <lftan@xxxxxxxxxx>
:::::: CC: Ley Foon Tan <lftan@xxxxxxxxxx>

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