forked from Minki/linux
s390/crypto: Fix unsigned variable compared with zero
s390_crypto_shash_parmsize() return type is int, it
should not be stored in a unsigned variable, which
compared with zero.
Reported-by: Hulk Robot <hulkci@huawei.com>
Fixes: 3c2eb6b76c
("s390/crypto: Support for SHA3 via CPACF (MSA6)")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Joerg Schmidbauer <jschmidb@linux.vnet.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
8b57e7c852
commit
0398d4ab16
@ -74,14 +74,17 @@ int s390_sha_final(struct shash_desc *desc, u8 *out)
|
||||
struct s390_sha_ctx *ctx = shash_desc_ctx(desc);
|
||||
unsigned int bsize = crypto_shash_blocksize(desc->tfm);
|
||||
u64 bits;
|
||||
unsigned int n, mbl_offset;
|
||||
unsigned int n;
|
||||
int mbl_offset;
|
||||
|
||||
n = ctx->count % bsize;
|
||||
bits = ctx->count * 8;
|
||||
mbl_offset = s390_crypto_shash_parmsize(ctx->func) / sizeof(u32);
|
||||
mbl_offset = s390_crypto_shash_parmsize(ctx->func);
|
||||
if (mbl_offset < 0)
|
||||
return -EINVAL;
|
||||
|
||||
mbl_offset = mbl_offset / sizeof(u32);
|
||||
|
||||
/* set total msg bit length (mbl) in CPACF parmblock */
|
||||
switch (ctx->func) {
|
||||
case CPACF_KLMD_SHA_1:
|
||||
|
Loading…
Reference in New Issue
Block a user