arch/powerpc/crypto/sha256-spe-glue.c:186:16: sparse: sparse: incorrect type in assignment (different base types)

From: kernel test robot
Date: Sat Dec 05 2020 - 14:45:47 EST


Hi Michael,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b3298500b23f0b53a8d81e0d5ad98a29db71f4f0
commit: e02152ba2810f7c88cb54e71cda096268dfa9241 powerpc: Drop -me200 addition to build flags
date: 3 weeks ago
config: powerpc-randconfig-s032-20201206 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.3-179-ga00755aa-dirty
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e02152ba2810f7c88cb54e71cda096268dfa9241
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout e02152ba2810f7c88cb54e71cda096268dfa9241
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=powerpc

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


"sparse warnings: (new ones prefixed by >>)"
>> arch/powerpc/crypto/sha256-spe-glue.c:186:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:186:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:186:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:187:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:187:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:187:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:188:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:188:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:188:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:189:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:189:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:189:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:190:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:190:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:190:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:191:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:191:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:191:16: sparse: got unsigned int
arch/powerpc/crypto/sha256-spe-glue.c:192:16: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __be32 [usertype] @@ got unsigned int @@
arch/powerpc/crypto/sha256-spe-glue.c:192:16: sparse: expected restricted __be32 [usertype]
arch/powerpc/crypto/sha256-spe-glue.c:192:16: sparse: got unsigned int
--
>> arch/powerpc/math-emu/math_efp.c:927:1: sparse: sparse: 'module_init()' has implicit return type
>> arch/powerpc/math-emu/math_efp.c:889:12: sparse: sparse: symbol 'spe_mathemu_init' was not declared. Should it be static?
--
arch/powerpc/mm/nohash/fsl_booke.c:61:3: sparse: sparse: symbol 'tlbcam_addrs' was not declared. Should it be static?
arch/powerpc/mm/nohash/fsl_booke.c:63:15: sparse: sparse: symbol 'tlbcam_sz' was not declared. Should it be static?
>> arch/powerpc/mm/nohash/fsl_booke.c:256:30: sparse: sparse: Using plain integer as NULL pointer

vim +186 arch/powerpc/crypto/sha256-spe-glue.c

c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 177
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 178 static int ppc_spe_sha224_final(struct shash_desc *desc, u8 *out)
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 179 {
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 180 u32 D[SHA256_DIGEST_SIZE >> 2];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 181 __be32 *dst = (__be32 *)out;
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 182
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 183 ppc_spe_sha256_final(desc, (u8 *)D);
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 184
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 185 /* avoid bytewise memcpy */
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 @186 dst[0] = D[0];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 187 dst[1] = D[1];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 188 dst[2] = D[2];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 189 dst[3] = D[3];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 190 dst[4] = D[4];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 191 dst[5] = D[5];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 192 dst[6] = D[6];
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 193
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 194 /* clear sensitive data */
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 195 memzero_explicit(D, SHA256_DIGEST_SIZE);
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 196 return 0;
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 197 }
c147028ccc24968 arch/powerpc/crypto/sha256_spe_glue.c Markus Stockhausen 2015-01-30 198

:::::: The code at line 186 was first introduced by commit
:::::: c147028ccc249681ef1129fb4b09f71fe6b75715 crypto: ppc/sha256 - glue

:::::: TO: Markus Stockhausen <stockhausen@xxxxxxxxxxx>
:::::: CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip