Re: [syzbot] [block?] kernel BUG in bio_chain
From: Edward Adam Davis
Date: Sun Dec 07 2025 - 23:21:56 EST
#syz test
diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index 97ebe457c00a..2de334034c74 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -484,6 +484,10 @@ 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);
+ new->bi_end_io = prev->bi_end_io;
+ new->bi_private = prev->bi_private;
+ prev->bi_end_io = NULL;
+ prev->bi_private = NULL;
bio_chain(prev, new);
submit_bio(prev);
return new;