Avoids page leak from bounced requests --- block/blk-map.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/blk-map.c b/block/blk-map.c index d3a94719f03f..702d68166689 100644 --- a/block/blk-map.c +++ b/block/blk-map.c @@ -26,7 +26,8 @@ int blk_rq_append_bio(struct request *rq, struct bio **bio) } else { if (!ll_back_merge_fn(rq->q, rq, *bio)) { if (orig_bio != *bio) { - bio_put(*bio); + bio_inc_remaining(orig_bio); + bio_endio(*bio); *bio = orig_bio; } return -EINVAL; -- 2.15.1