]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
block: align down bounces bios
authorChristoph Hellwig <hch@lst.de>
Thu, 7 May 2026 05:01:48 +0000 (07:01 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 13 May 2026 19:55:18 +0000 (13:55 -0600)
Just like for the extract user pages path, we need to align down the
size to the supported boundary.

Fixes: 8dd5e7c75d7b ("block: add helpers to bounce buffer an iov_iter into bios")
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@kernel.org>
Link: https://patch.msgid.link/20260507050153.1298375-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c

index f3e5d8bea08cd6e056b35d9105a99b356daaa581..5f10900b3f42a10bb28148b4a1f532ce6a4f60f3 100644 (file)
@@ -1345,7 +1345,7 @@ static int bio_iov_iter_bounce_write(struct bio *bio, struct iov_iter *iter,
 
        if (!bio->bi_iter.bi_size)
                return -ENOMEM;
-       return 0;
+       return bio_iov_iter_align_down(bio, iter, minsize - 1);
 }
 
 static int bio_iov_iter_bounce_read(struct bio *bio, struct iov_iter *iter,
@@ -1383,7 +1383,7 @@ static int bio_iov_iter_bounce_read(struct bio *bio, struct iov_iter *iter,
        bvec_set_folio(&bio->bi_io_vec[0], folio, bio->bi_iter.bi_size, 0);
        if (iov_iter_extract_will_pin(iter))
                bio_set_flag(bio, BIO_PAGE_PINNED);
-       return 0;
+       return bio_iov_iter_align_down(bio, iter, minsize - 1);
 }
 
 /**