crypto: hisilicon/sec2 - optimize the error return process
authorChenghai Huang <huangchenghai2@huawei.com>
Sat, 9 Dec 2023 07:01:35 +0000 (15:01 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 15 Dec 2023 09:52:53 +0000 (17:52 +0800)
Add the printf of an error message and optimized the handling
process of ret.

Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/hisilicon/sec2/sec_crypto.c

index c760f3a8af4d09ca4cd163d630a239a4c1e9894c..f028dcfd0ead7e08d8e213037adb32257e1856c1 100644 (file)
@@ -850,6 +850,7 @@ static int sec_skcipher_setkey(struct crypto_skcipher *tfm, const u8 *key,
                ret = sec_skcipher_aes_sm4_setkey(c_ctx, keylen, c_mode);
                break;
        default:
+               dev_err(dev, "sec c_alg err!\n");
                return -EINVAL;
        }
 
@@ -1172,7 +1173,8 @@ static int sec_aead_setkey(struct crypto_aead *tfm, const u8 *key,
                return 0;
        }
 
-       if (crypto_authenc_extractkeys(&keys, key, keylen))
+       ret = crypto_authenc_extractkeys(&keys, key, keylen);
+       if (ret)
                goto bad_key;
 
        ret = sec_aead_aes_set_key(c_ctx, &keys);
@@ -1189,6 +1191,7 @@ static int sec_aead_setkey(struct crypto_aead *tfm, const u8 *key,
 
        if ((ctx->a_ctx.mac_len & SEC_SQE_LEN_RATE_MASK)  ||
            (ctx->a_ctx.a_key_len & SEC_SQE_LEN_RATE_MASK)) {
+               ret = -EINVAL;
                dev_err(dev, "MAC or AUTH key length error!\n");
                goto bad_key;
        }
@@ -1197,7 +1200,7 @@ static int sec_aead_setkey(struct crypto_aead *tfm, const u8 *key,
 
 bad_key:
        memzero_explicit(&keys, sizeof(struct crypto_authenc_keys));
-       return -EINVAL;
+       return ret;
 }