diff options
author | David S. Miller <davem@davemloft.net> | 2015-02-11 19:47:00 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-02-11 19:47:00 -0800 |
commit | 126d18a6f67ad8d29388d82a448b178e2ac1a77c (patch) | |
tree | 6fdbfe3170e4f040d3b43fd2050f322434b3568d /crypto | |
parent | d5a1e7233d3fe74d6c85052b8aa7b8ef6a3e96f8 (diff) | |
download | linux-crypto-126d18a6f67ad8d29388d82a448b178e2ac1a77c.tar.gz linux-crypto-126d18a6f67ad8d29388d82a448b178e2ac1a77c.zip |
Revert "crypto: Fix regressions caused by iov_iter changes."
This reverts commit d5a1e7233d3fe74d6c85052b8aa7b8ef6a3e96f8.
Linus already fixed this in his tree so just use what
he did.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/af_alg.c | 2 | ||||
-rw-r--r-- | crypto/algif_skcipher.c | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/crypto/af_alg.c b/crypto/af_alg.c index 5b11d645..eb78fe8a 100644 --- a/crypto/af_alg.c +++ b/crypto/af_alg.c @@ -348,7 +348,7 @@ int af_alg_make_sg(struct af_alg_sgl *sgl, struct iov_iter *iter, int len) if (n < 0) return n; - npages = DIV_ROUND_UP(off + n, PAGE_SIZE); + npages = PAGE_ALIGN(off + n); if (WARN_ON(npages == 0)) return -EINVAL; diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c index 0eb31a69..37110fd6 100644 --- a/crypto/algif_skcipher.c +++ b/crypto/algif_skcipher.c @@ -427,11 +427,11 @@ static int skcipher_recvmsg(struct kiocb *unused, struct socket *sock, struct skcipher_sg_list *sgl; struct scatterlist *sg; int err = -EAGAIN; + int used; long copied = 0; lock_sock(sk); while (iov_iter_count(&msg->msg_iter)) { - int used; sgl = list_first_entry(&ctx->tsgl, struct skcipher_sg_list, list); sg = sgl->sg; @@ -439,13 +439,14 @@ static int skcipher_recvmsg(struct kiocb *unused, struct socket *sock, while (!sg->length) sg++; - if (!ctx->used) { + used = ctx->used; + if (!used) { err = skcipher_wait_for_data(sk, flags); if (err) goto unlock; } - used = min_t(unsigned long, ctx->used, iov_iter_count(&msg->msg_iter)); + used = min_t(unsigned long, used, iov_iter_count(&msg->msg_iter)); used = af_alg_make_sg(&ctx->rsgl, &msg->msg_iter, used); err = used; |