]> Gentwo Git Trees - linux/.git/commitdiff
gfs2: Fix use of bio_chain
authorAndreas Gruenbacher <agruenba@redhat.com>
Sun, 30 Nov 2025 21:19:52 +0000 (21:19 +0000)
committerAndreas Gruenbacher <agruenba@redhat.com>
Tue, 2 Dec 2025 16:44:54 +0000 (16:44 +0000)
In gfs2_chain_bio(), the call to bio_chain() has its arguments swapped.
The result is leaked bios and incorrect synchronization (only the last
bio will actually be waited for).  This code is only used during mount
and filesystem thaw, so the bug normally won't be noticeable.

Reported-by: Stephen Zhang <starzhangzsd@gmail.com>
Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
fs/gfs2/lops.c

index d27a0b1080a97f446832687b46b7d9afa3e77237..97ebe457c00adfcf289257ed910e95a3a893aa9d 100644 (file)
@@ -484,7 +484,7 @@ static struct bio *gfs2_chain_bio(struct bio *prev, unsigned int nr_iovecs)
        new = bio_alloc(prev->bi_bdev, nr_iovecs, prev->bi_opf, GFP_NOIO);
        bio_clone_blkg_association(new, prev);
        new->bi_iter.bi_sector = bio_end_sector(prev);
-       bio_chain(new, prev);
+       bio_chain(prev, new);
        submit_bio(prev);
        return new;
 }