2020-05-02 05:34:27

by Eric Biggers

[permalink] [raw]
Subject: [PATCH 05/20] crypto: ccp - use crypto_shash_tfm_digest()

From: Eric Biggers <[email protected]>

Instead of manually allocating a 'struct shash_desc' on the stack and
calling crypto_shash_digest(), switch to using the new helper function
crypto_shash_tfm_digest() which does this for us.

Cc: Tom Lendacky <[email protected]>
Signed-off-by: Eric Biggers <[email protected]>
---
drivers/crypto/ccp/ccp-crypto-sha.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c
index 474e6f1a6a84ec..b0cc2bd73af804 100644
--- a/drivers/crypto/ccp/ccp-crypto-sha.c
+++ b/drivers/crypto/ccp/ccp-crypto-sha.c
@@ -272,9 +272,6 @@ static int ccp_sha_setkey(struct crypto_ahash *tfm, const u8 *key,
{
struct ccp_ctx *ctx = crypto_tfm_ctx(crypto_ahash_tfm(tfm));
struct crypto_shash *shash = ctx->u.sha.hmac_tfm;
-
- SHASH_DESC_ON_STACK(sdesc, shash);
-
unsigned int block_size = crypto_shash_blocksize(shash);
unsigned int digest_size = crypto_shash_digestsize(shash);
int i, ret;
@@ -289,10 +286,8 @@ static int ccp_sha_setkey(struct crypto_ahash *tfm, const u8 *key,

if (key_len > block_size) {
/* Must hash the input key */
- sdesc->tfm = shash;
-
- ret = crypto_shash_digest(sdesc, key, key_len,
- ctx->u.sha.key);
+ ret = crypto_shash_tfm_digest(shash, key, key_len,
+ ctx->u.sha.key);
if (ret)
return -EINVAL;

--
2.26.2


2020-05-07 21:24:12

by Tom Lendacky

[permalink] [raw]
Subject: Re: [PATCH 05/20] crypto: ccp - use crypto_shash_tfm_digest()

On 5/2/20 12:31 AM, Eric Biggers wrote:
> From: Eric Biggers <[email protected]>
>
> Instead of manually allocating a 'struct shash_desc' on the stack and
> calling crypto_shash_digest(), switch to using the new helper function
> crypto_shash_tfm_digest() which does this for us.
>
> Cc: Tom Lendacky <[email protected]>
> Signed-off-by: Eric Biggers <[email protected]>

Acked-by: Tom Lendacky <[email protected]>

> ---
> drivers/crypto/ccp/ccp-crypto-sha.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/crypto/ccp/ccp-crypto-sha.c b/drivers/crypto/ccp/ccp-crypto-sha.c
> index 474e6f1a6a84ec..b0cc2bd73af804 100644
> --- a/drivers/crypto/ccp/ccp-crypto-sha.c
> +++ b/drivers/crypto/ccp/ccp-crypto-sha.c
> @@ -272,9 +272,6 @@ static int ccp_sha_setkey(struct crypto_ahash *tfm, const u8 *key,
> {
> struct ccp_ctx *ctx = crypto_tfm_ctx(crypto_ahash_tfm(tfm));
> struct crypto_shash *shash = ctx->u.sha.hmac_tfm;
> -
> - SHASH_DESC_ON_STACK(sdesc, shash);
> -
> unsigned int block_size = crypto_shash_blocksize(shash);
> unsigned int digest_size = crypto_shash_digestsize(shash);
> int i, ret;
> @@ -289,10 +286,8 @@ static int ccp_sha_setkey(struct crypto_ahash *tfm, const u8 *key,
>
> if (key_len > block_size) {
> /* Must hash the input key */
> - sdesc->tfm = shash;
> -
> - ret = crypto_shash_digest(sdesc, key, key_len,
> - ctx->u.sha.key);
> + ret = crypto_shash_tfm_digest(shash, key, key_len,
> + ctx->u.sha.key);
> if (ret)
> return -EINVAL;
>
>