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); } }