diff options
author | Ovidiu Panait <ovidiu.panait@windriver.com> | 2023-12-01 19:06:21 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-01-25 14:33:32 -0800 |
commit | 9c241bed6d321355b41dce62e2c527fc1788c403 (patch) | |
tree | d9ea95b503c550202d96ba85fbef78e3c01048b4 /drivers/crypto | |
parent | 6ccb0052254f97e5f4c4b98befdb15de7efcde8d (diff) | |
download | linux-stable-9c241bed6d321355b41dce62e2c527fc1788c403.tar.gz linux-stable-9c241bed6d321355b41dce62e2c527fc1788c403.tar.bz2 linux-stable-9c241bed6d321355b41dce62e2c527fc1788c403.zip |
crypto: sahara - fix ahash selftest failure
[ Upstream commit afffcf3db98b9495114b79d5381f8cc3f69476fb ]
update() calls should not modify the result buffer, so add an additional
check for "rctx->last" to make sure that only the final hash value is
copied into the buffer.
Fixes the following selftest failure:
alg: ahash: sahara-sha256 update() used result buffer on test vector 3,
cfg="init+update+final aligned buffer"
Fixes: 5a2bb93f5992 ("crypto: sahara - add support for SHA1/256")
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/crypto')
-rw-r--r-- | drivers/crypto/sahara.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/crypto/sahara.c b/drivers/crypto/sahara.c index 5bd2c34a9ceb..5232e6a849cc 100644 --- a/drivers/crypto/sahara.c +++ b/drivers/crypto/sahara.c @@ -1035,7 +1035,7 @@ static int sahara_sha_process(struct ahash_request *req) memcpy(rctx->context, dev->context_base, rctx->context_size); - if (req->result) + if (req->result && rctx->last) memcpy(req->result, rctx->context, rctx->digest_size); return 0; |