Commit 46a2d4cc authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe

squashfs: always use bio_kmalloc in squashfs_bio_read

If a plain kmalloc that is not backed by a mempool is safe here for a
large read (and the actual page allocations), it must also be for a
small one, so simplify the code a bit.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Acked-by: default avatarPhillip Lougher <phillip@squashfs.org.uk>
Reviewed-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Link: https://lore.kernel.org/r/20220406061228.410163-3-hch@lst.deSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent f9e69aa9
......@@ -86,16 +86,11 @@ static int squashfs_bio_read(struct super_block *sb, u64 index, int length,
int error, i;
struct bio *bio;
if (page_count <= BIO_MAX_VECS) {
bio = bio_alloc(sb->s_bdev, page_count, REQ_OP_READ, GFP_NOIO);
} else {
bio = bio_kmalloc(GFP_NOIO, page_count);
bio_set_dev(bio, sb->s_bdev);
bio->bi_opf = REQ_OP_READ;
}
bio = bio_kmalloc(GFP_NOIO, page_count);
if (!bio)
return -ENOMEM;
bio_set_dev(bio, sb->s_bdev);
bio->bi_opf = REQ_OP_READ;
bio->bi_iter.bi_sector = block * (msblk->devblksize >> SECTOR_SHIFT);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment