Looks good. Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx> On 4/24/19 4:02 AM, Ming Lei wrote: > The refcount has been increased for pages retrieved from non-bvec iov iter > via __bio_iov_iter_get_pages(), so don't need to do that again. > > Otherwise, IO pages are leaked easily. > > Cc: Christoph Hellwig <hch@xxxxxx> > Fixes: 7321ecbfc7cf ("block: change how we get page references in bio_iov_iter_get_pages") > Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> > --- > block/bio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/block/bio.c b/block/bio.c > index c81ed2dfee53..662d45752ec5 100644 > --- a/block/bio.c > +++ b/block/bio.c > @@ -992,7 +992,7 @@ int bio_iov_iter_get_pages(struct bio *bio, struct iov_iter *iter) > > if (iov_iter_bvec_no_ref(iter)) > bio_set_flag(bio, BIO_NO_PAGE_REF); > - else > + else if (is_bvec) > bio_get_pages(bio); > > return bio->bi_vcnt ? 0 : ret; >