Re: [syzbot] [block?] general protection fault in bio_alloc_bioset

From: Vasily Gorbik

Date: Sat Mar 21 2026 - 18:53:59 EST


#syz test

diff --git a/block/bio.c b/block/bio.c
index 5057047194c4..77067fa346d3 100644
--- a/block/bio.c
+++ b/block/bio.c
@@ -581,11 +581,11 @@ struct bio *bio_alloc_bioset(struct block_device *bdev, unsigned short nr_vecs,
*/
opf &= ~REQ_ALLOC_CACHE;

- p = mempool_alloc(&bs->bio_pool, gfp);
+ p = mempool_alloc(&bs->bio_pool, saved_gfp);
bio = p + bs->front_pad;
if (nr_vecs > BIO_INLINE_VECS) {
nr_vecs = BIO_MAX_VECS;
- bvecs = mempool_alloc(&bs->bvec_pool, gfp);
+ bvecs = mempool_alloc(&bs->bvec_pool, saved_gfp);
}
}

--
2.53.0