Commit b7f7e957 authored by Wang, Rui Y's avatar Wang, Rui Y Committed by Sasha Levin

crypto: algif_hash - wait for crypto_ahash_init() to complete

[ Upstream commit fe097861 ]

hash_sendmsg/sendpage() need to wait for the completion
of crypto_ahash_init() otherwise it can cause panic.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarRui Wang <rui.y.wang@intel.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent e3c2fdba
...@@ -56,7 +56,8 @@ static int hash_sendmsg(struct kiocb *unused, struct socket *sock, ...@@ -56,7 +56,8 @@ static int hash_sendmsg(struct kiocb *unused, struct socket *sock,
lock_sock(sk); lock_sock(sk);
if (!ctx->more) { if (!ctx->more) {
err = crypto_ahash_init(&ctx->req); err = af_alg_wait_for_completion(crypto_ahash_init(&ctx->req),
&ctx->completion);
if (err) if (err)
goto unlock; goto unlock;
} }
...@@ -136,6 +137,7 @@ static ssize_t hash_sendpage(struct socket *sock, struct page *page, ...@@ -136,6 +137,7 @@ static ssize_t hash_sendpage(struct socket *sock, struct page *page,
} else { } else {
if (!ctx->more) { if (!ctx->more) {
err = crypto_ahash_init(&ctx->req); err = crypto_ahash_init(&ctx->req);
err = af_alg_wait_for_completion(err, &ctx->completion);
if (err) if (err)
goto unlock; goto unlock;
} }
......
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