diff options
-rw-r--r-- | drivers/crypto/inside-secure/safexcel_hash.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c index 8527a5899a2f..3f819399cd95 100644 --- a/drivers/crypto/inside-secure/safexcel_hash.c +++ b/drivers/crypto/inside-secure/safexcel_hash.c | |||
@@ -883,10 +883,7 @@ static int safexcel_hmac_sha1_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
883 | if (ret) | 883 | if (ret) |
884 | return ret; | 884 | return ret; |
885 | 885 | ||
886 | memcpy(ctx->ipad, &istate.state, SHA1_DIGEST_SIZE); | 886 | for (i = 0; i < SHA1_DIGEST_SIZE / sizeof(u32); i++) { |
887 | memcpy(ctx->opad, &ostate.state, SHA1_DIGEST_SIZE); | ||
888 | |||
889 | for (i = 0; i < ARRAY_SIZE(istate.state); i++) { | ||
890 | if (ctx->ipad[i] != le32_to_cpu(istate.state[i]) || | 887 | if (ctx->ipad[i] != le32_to_cpu(istate.state[i]) || |
891 | ctx->opad[i] != le32_to_cpu(ostate.state[i])) { | 888 | ctx->opad[i] != le32_to_cpu(ostate.state[i])) { |
892 | ctx->base.needs_inv = true; | 889 | ctx->base.needs_inv = true; |
@@ -894,6 +891,9 @@ static int safexcel_hmac_sha1_setkey(struct crypto_ahash *tfm, const u8 *key, | |||
894 | } | 891 | } |
895 | } | 892 | } |
896 | 893 | ||
894 | memcpy(ctx->ipad, &istate.state, SHA1_DIGEST_SIZE); | ||
895 | memcpy(ctx->opad, &ostate.state, SHA1_DIGEST_SIZE); | ||
896 | |||
897 | return 0; | 897 | return 0; |
898 | } | 898 | } |
899 | 899 | ||