aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/algif_hash.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2022-06-09 11:14:04 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2022-08-08 22:37:23 -0400
commitdc5801f60b269a73fcce789856c99d1845f75827 (patch)
tree68f51452e8a348ecb4220648acc8624ed3d3cd48 /crypto/algif_hash.c
parentiter_to_pipe(): switch to advancing variant of iov_iter_get_pages() (diff)
downloadlinux-dev-dc5801f60b269a73fcce789856c99d1845f75827.tar.xz
linux-dev-dc5801f60b269a73fcce789856c99d1845f75827.zip
af_alg_make_sg(): switch to advancing variant of iov_iter_get_pages()
... and adjust the callers Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'crypto/algif_hash.c')
-rw-r--r--crypto/algif_hash.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
index 50f7b22f1b48..1d017ec5c63c 100644
--- a/crypto/algif_hash.c
+++ b/crypto/algif_hash.c
@@ -102,11 +102,12 @@ static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
err = crypto_wait_req(crypto_ahash_update(&ctx->req),
&ctx->wait);
af_alg_free_sg(&ctx->sgl);
- if (err)
+ if (err) {
+ iov_iter_revert(&msg->msg_iter, len);
goto unlock;
+ }
copied += len;
- iov_iter_advance(&msg->msg_iter, len);
}
err = 0;