summaryrefslogtreecommitdiffstats
path: root/block
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-09-24 09:25:39 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-10-11 17:23:40 -0400
commite81cef5d3001501350b4e596b4bd6dfd26187afa (patch)
treea668c5996d1a9a7627f8dde7162336188e7907e4 /block
parentb282cc766958af161249b7b04d50e3eae12a2a1c (diff)
downloadlinux-stable-e81cef5d3001501350b4e596b4bd6dfd26187afa.tar.gz
linux-stable-e81cef5d3001501350b4e596b4bd6dfd26187afa.tar.bz2
linux-stable-e81cef5d3001501350b4e596b4bd6dfd26187afa.zip
blk_rq_map_user_iov(): move iov_iter_advance() down
... into bio_{map,copy}_user_iov() Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'block')
-rw-r--r--block/bio.c6
-rw-r--r--block/blk-map.c1
2 files changed, 4 insertions, 3 deletions
diff --git a/block/bio.c b/block/bio.c
index d1ca7eecc8aa..cd1282db03cb 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -1195,7 +1195,7 @@ int bio_uncopy_user(struct bio *bio)
*/
struct bio *bio_copy_user_iov(struct request_queue *q,
struct rq_map_data *map_data,
- const struct iov_iter *iter,
+ struct iov_iter *iter,
gfp_t gfp_mask)
{
struct bio_map_data *bmd;
@@ -1298,6 +1298,7 @@ struct bio *bio_copy_user_iov(struct request_queue *q,
if (ret)
goto cleanup;
}
+ iov_iter_advance(iter, bio->bi_iter.bi_size);
bio->bi_private = bmd;
return bio;
@@ -1320,7 +1321,7 @@ out_bmd:
* device. Returns an error pointer in case of error.
*/
struct bio *bio_map_user_iov(struct request_queue *q,
- const struct iov_iter *iter,
+ struct iov_iter *iter,
gfp_t gfp_mask)
{
int j;
@@ -1399,6 +1400,7 @@ struct bio *bio_map_user_iov(struct request_queue *q,
* reference to it
*/
bio_get(bio);
+ iov_iter_advance(iter, bio->bi_iter.bi_size);
return bio;
out_unmap:
diff --git a/block/blk-map.c b/block/blk-map.c
index 2547016aa7aa..891eea11f68e 100644
--- a/block/blk-map.c
+++ b/block/blk-map.c
@@ -69,7 +69,6 @@ static int __blk_rq_map_user_iov(struct request *rq,
if (map_data && map_data->null_mapped)
bio_set_flag(bio, BIO_NULL_MAPPED);
- iov_iter_advance(iter, bio->bi_iter.bi_size);
if (map_data)
map_data->offset += bio->bi_iter.bi_size;