Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6767721 authored by David S. Miller's avatar David S. Miller
Browse files

[CRYPTO]: HMAC needs some more scatterlist fixups.



hmac_setkey(), hmac_init(), and hmac_final() have
a singular on-stack scatterlist.  Initialit is
using sg_init_one() instead of using sg_set_buf().

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 564262c1
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -61,7 +61,7 @@ static int hmac_setkey(struct crypto_hash *parent,
		desc.tfm = tfm;
		desc.tfm = tfm;
		desc.flags = crypto_hash_get_flags(parent);
		desc.flags = crypto_hash_get_flags(parent);
		desc.flags &= CRYPTO_TFM_REQ_MAY_SLEEP;
		desc.flags &= CRYPTO_TFM_REQ_MAY_SLEEP;
		sg_set_buf(&tmp, inkey, keylen);
		sg_init_one(&tmp, inkey, keylen);


		err = crypto_hash_digest(&desc, &tmp, keylen, digest);
		err = crypto_hash_digest(&desc, &tmp, keylen, digest);
		if (err)
		if (err)
@@ -96,7 +96,7 @@ static int hmac_init(struct hash_desc *pdesc)


	desc.tfm = ctx->child;
	desc.tfm = ctx->child;
	desc.flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP;
	desc.flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP;
	sg_set_buf(&tmp, ipad, bs);
	sg_init_one(&tmp, ipad, bs);


	err = crypto_hash_init(&desc);
	err = crypto_hash_init(&desc);
	if (unlikely(err))
	if (unlikely(err))
@@ -131,7 +131,7 @@ static int hmac_final(struct hash_desc *pdesc, u8 *out)


	desc.tfm = ctx->child;
	desc.tfm = ctx->child;
	desc.flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP;
	desc.flags = pdesc->flags & CRYPTO_TFM_REQ_MAY_SLEEP;
	sg_set_buf(&tmp, opad, bs + ds);
	sg_init_one(&tmp, opad, bs + ds);


	err = crypto_hash_final(&desc, digest);
	err = crypto_hash_final(&desc, digest);
	if (unlikely(err))
	if (unlikely(err))