[cryptodev:master 272/278] drivers/crypto/marvell/hash.c:356:48: sparse: incorrect type in assignment (different base types)
From: kbuild test robot <hidden>
Date: 2015-06-19 19:18:57
tree: git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master head: 2df6bb5d8b22bc06a6ea83e8b2a6bcf3bb445304 commit: 7aeef693d18d359134f47bf7b6621ec303b570f9 [272/278] crypto: marvell/cesa - add MD5 support reproduce: # apt-get install sparse git checkout 7aeef693d18d359134f47bf7b6621ec303b570f9 make ARCH=x86_64 allmodconfig make C=1 CF=-D__CHECK_ENDIAN__ sparse warnings: (new ones prefixed by >>) drivers/crypto/marvell/hash.c:206:17: sparse: incorrect type in argument 1 (different address spaces) drivers/crypto/marvell/hash.c:206:17: expected void *to drivers/crypto/marvell/hash.c:206:17: got void [noderef] <asn:2>* drivers/crypto/marvell/hash.c:220:77: sparse: incorrect type in argument 3 (different address spaces) drivers/crypto/marvell/hash.c:220:77: expected void *buf drivers/crypto/marvell/hash.c:220:77: got void [noderef] <asn:2>* drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32 drivers/crypto/marvell/cesa.h:663:28: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:663:28: left side has type unsigned int drivers/crypto/marvell/cesa.h:663:28: right side has type restricted __le32 drivers/crypto/marvell/hash.c:248:33: sparse: incorrect type in argument 2 (different address spaces) drivers/crypto/marvell/hash.c:248:33: expected void const *from drivers/crypto/marvell/hash.c:248:33: got void [noderef] <asn:2>* drivers/crypto/marvell/hash.c:254:68: sparse: incorrect type in argument 2 (different address spaces) drivers/crypto/marvell/hash.c:254:68: expected unsigned char [usertype] *buf drivers/crypto/marvell/hash.c:254:68: got void [noderef] <asn:2>* drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &= drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32 drivers/crypto/marvell/hash.c:269:9: sparse: incorrect type in argument 1 (different address spaces) drivers/crypto/marvell/hash.c:269:9: expected void *to drivers/crypto/marvell/hash.c:269:9: got void [noderef] <asn:2>*sram drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &= drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:644:24: sparse: incorrect type in assignment (different base types) drivers/crypto/marvell/cesa.h:644:24: expected unsigned int [unsigned] [usertype] enc_p drivers/crypto/marvell/cesa.h:644:24: got restricted __le32 [usertype] <noident> drivers/crypto/marvell/cesa.h:645:28: sparse: incorrect type in assignment (different base types) drivers/crypto/marvell/cesa.h:645:28: expected unsigned int [unsigned] [usertype] enc_key_p drivers/crypto/marvell/cesa.h:645:28: got restricted __le32 [usertype] <noident> drivers/crypto/marvell/cesa.h:646:25: sparse: incorrect type in assignment (different base types) drivers/crypto/marvell/cesa.h:646:25: expected unsigned int [unsigned] [usertype] enc_iv drivers/crypto/marvell/cesa.h:646:25: got restricted __le32 [usertype] <noident> drivers/crypto/marvell/cesa.h:648:28: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:648:28: left side has type unsigned int drivers/crypto/marvell/cesa.h:648:28: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:650:29: sparse: invalid assignment: |= drivers/crypto/marvell/cesa.h:650:29: left side has type unsigned int drivers/crypto/marvell/cesa.h:650:29: right side has type restricted __le32 drivers/crypto/marvell/cesa.h:651:25: sparse: incorrect type in assignment (different base types) drivers/crypto/marvell/cesa.h:651:25: expected unsigned int [unsigned] [usertype] mac_iv drivers/crypto/marvell/cesa.h:651:25: got restricted __le32 [usertype] <noident> drivers/crypto/marvell/hash.c:309:9: sparse: incorrect type in argument 1 (different address spaces) drivers/crypto/marvell/hash.c:309:9: expected void *to drivers/crypto/marvell/hash.c:309:9: got void [noderef] <asn:2>*sram drivers/crypto/marvell/hash.c:341:32: sparse: incorrect type in assignment (different base types) drivers/crypto/marvell/hash.c:341:32: expected restricted __be32 <noident> drivers/crypto/marvell/hash.c:341:32: got unsigned int drivers/crypto/marvell/hash.c:356:50: sparse: cast from restricted __be32
quoted
drivers/crypto/marvell/hash.c:356:48: sparse: incorrect type in assignment (different base types)
drivers/crypto/marvell/hash.c:356:48: expected restricted __be32 <noident>
drivers/crypto/marvell/hash.c:356:48: got restricted __le32 [usertype] <noident>
drivers/crypto/marvell/hash.c:358:50: sparse: cast from restricted __be32
drivers/crypto/marvell/hash.c:358:50: sparse: incorrect type in argument 1 (different base types)
drivers/crypto/marvell/hash.c:358:50: expected unsigned int [unsigned] [usertype] val
drivers/crypto/marvell/hash.c:358:50: got restricted __be32 <noident>
drivers/crypto/marvell/hash.c:358:50: sparse: cast from restricted __be32
drivers/crypto/marvell/hash.c:358:50: sparse: cast from restricted __be32
drivers/crypto/marvell/hash.c:358:50: sparse: cast from restricted __be32
drivers/crypto/marvell/hash.c:358:50: sparse: cast from restricted __be32
drivers/crypto/marvell/hash.c:384:35: sparse: incorrect type in argument 1 (different base types)
drivers/crypto/marvell/hash.c:384:35: expected unsigned int [unsigned] val
drivers/crypto/marvell/hash.c:384:35: got restricted __be32 <noident>
drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &=
drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:663:28: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:663:28: left side has type unsigned int
drivers/crypto/marvell/cesa.h:663:28: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int
drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int
drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32
drivers/crypto/marvell/hash.c:494:59: sparse: incorrect type in argument 2 (different base types)
drivers/crypto/marvell/hash.c:494:59: expected unsigned int [unsigned] [usertype] flags
drivers/crypto/marvell/hash.c:494:59: got restricted gfp_t [usertype] flags
drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int
drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32
drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &=
drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32
drivers/crypto/marvell/hash.c:530:51: sparse: incorrect type in argument 2 (different base types)
drivers/crypto/marvell/hash.c:530:51: expected unsigned int [unsigned] [usertype] flags
drivers/crypto/marvell/hash.c:530:51: got restricted gfp_t [usertype] flags
drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32
drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &=
drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &=
drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int
drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:631:16: sparse: cast to restricted __le32
drivers/crypto/marvell/cesa.h:625:25: sparse: invalid assignment: &=
drivers/crypto/marvell/cesa.h:625:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:625:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:626:25: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:626:25: left side has type unsigned int
drivers/crypto/marvell/cesa.h:626:25: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:670:29: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:670:29: left side has type unsigned int
drivers/crypto/marvell/cesa.h:670:29: right side has type restricted __le32
drivers/crypto/marvell/hash.c:616:51: sparse: incorrect type in argument 2 (different base types)
drivers/crypto/marvell/hash.c:616:51: expected unsigned int [unsigned] [usertype] flags
drivers/crypto/marvell/hash.c:616:51: got restricted gfp_t [usertype] flags
drivers/crypto/marvell/hash.c:677:57: sparse: incorrect type in argument 2 (different base types)
drivers/crypto/marvell/hash.c:677:57: expected unsigned int [unsigned] [usertype] flags
drivers/crypto/marvell/hash.c:677:57: got restricted gfp_t [usertype] flags
drivers/crypto/marvell/cesa.h:663:28: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:663:28: left side has type unsigned int
drivers/crypto/marvell/cesa.h:663:28: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:663:28: sparse: invalid assignment: |=
drivers/crypto/marvell/cesa.h:663:28: left side has type unsigned int
drivers/crypto/marvell/cesa.h:663:28: right side has type restricted __le32
drivers/crypto/marvell/cesa.h:636:25: sparse: incorrect type in assignment (different base types)
drivers/crypto/marvell/cesa.h:636:25: expected unsigned int [unsigned] [usertype] config
drivers/crypto/marvell/cesa.h:636:25: got restricted __le32 [usertype] <noident>
drivers/crypto/marvell/cesa.h:636:25: sparse: incorrect type in assignment (different base types)
drivers/crypto/marvell/cesa.h:636:25: expected unsigned int [unsigned] [usertype] config
drivers/crypto/marvell/cesa.h:636:25: got restricted __le32 [usertype] <noident>
drivers/crypto/marvell/cesa.h:636:25: sparse: incorrect type in assignment (different base types)
drivers/crypto/marvell/cesa.h:636:25: expected unsigned int [unsigned] [usertype] config
drivers/crypto/marvell/cesa.h:636:25: got restricted __le32 [usertype] <noident>
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1169:30: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1172:34: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1172:34: sparse: cast to restricted __be32
drivers/crypto/marvell/hash.c:1172:34: sparse: cast to restricted __be32
vim +356 drivers/crypto/marvell/hash.c
303 struct mv_cesa_ahash_req *creq = ahash_request_ctx(req);
304 struct mv_cesa_ahash_std_req *sreq = &creq->req.std;
305 struct mv_cesa_engine *engine = sreq->base.engine;
306
307 sreq->offset = 0;
308 mv_cesa_adjust_op(engine, &creq->op_tmpl);
> 309 memcpy(engine->sram, &creq->op_tmpl, sizeof(creq->op_tmpl));
310 }
311
312 static void mv_cesa_ahash_step(struct crypto_async_request *req)
313 {
314 struct ahash_request *ahashreq = ahash_request_cast(req);
315 struct mv_cesa_ahash_req *creq = ahash_request_ctx(ahashreq);
316
317 if (creq->req.base.type == CESA_DMA_REQ)
318 mv_cesa_dma_step(&creq->req.dma.base);
319 else
320 mv_cesa_ahash_std_step(ahashreq);
321 }
322
323 static int mv_cesa_ahash_process(struct crypto_async_request *req, u32 status)
324 {
325 struct ahash_request *ahashreq = ahash_request_cast(req);
326 struct mv_cesa_ahash_req *creq = ahash_request_ctx(ahashreq);
327 struct mv_cesa_engine *engine = creq->req.base.engine;
328 unsigned int digsize;
329 int ret, i;
330
331 if (creq->req.base.type == CESA_DMA_REQ)
332 ret = mv_cesa_dma_process(&creq->req.dma.base, status);
333 else
334 ret = mv_cesa_ahash_std_process(ahashreq, status);
335
336 if (ret == -EINPROGRESS)
337 return ret;
338
339 digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq));
340 for (i = 0; i < digsize / 4; i++)
341 creq->state[i] = readl(engine->regs + CESA_IVDIG(i));
342
343 if (creq->cache_ptr)
344 sg_pcopy_to_buffer(ahashreq->src, creq->src_nents,
345 creq->cache,
346 creq->cache_ptr,
347 ahashreq->nbytes - creq->cache_ptr);
348
349 if (creq->last_req) {
350 for (i = 0; i < digsize / 4; i++) {
351 /*
352 * Hardware provides MD5 digest in a different
353 * endianness than SHA-1 and SHA-256 ones.
354 */
355 if (digsize == MD5_DIGEST_SIZE)
> 356 creq->state[i] = cpu_to_le32(creq->state[i]);
357 else
358 creq->state[i] = cpu_to_be32(creq->state[i]);
359 }
---
0-DAY kernel test infrastructure Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild Intel Corporation