Commit 8acf7a10 authored by Herbert Xu's avatar Herbert Xu

crypto: algif_hash - Fix result clobbering in recvmsg

Recently an init call was added to hash_recvmsg so as to reset
the hash state in case a sendmsg call was never made.

Unfortunately this ended up clobbering the result if the previous
sendmsg was done with a MSG_MORE flag.  This patch fixes it by
excluding that case when we make the init call.

Fixes: a8348bca ("algif_hash - Fix NULL hash crash with shash")
Reported-by: default avatarPatrick Steinhardt <ps@pks.im>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent a8348bca
...@@ -214,7 +214,7 @@ static int hash_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, ...@@ -214,7 +214,7 @@ static int hash_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
ahash_request_set_crypt(&ctx->req, NULL, ctx->result, 0); ahash_request_set_crypt(&ctx->req, NULL, ctx->result, 0);
if (!result) { if (!result && !ctx->more) {
err = af_alg_wait_for_completion( err = af_alg_wait_for_completion(
crypto_ahash_init(&ctx->req), crypto_ahash_init(&ctx->req),
&ctx->completion); &ctx->completion);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment