From 0385971754f0aa0507ecd7f0a0f4a48781906eda Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 23 Sep 2020 17:07:13 +0200 Subject: [PATCH] block: fix bmd->is_null_mapped initialization bmd is allocated using kmalloc in bio_alloc_map_data, so make sure is_null_mapped is properly initialized to false for the !null_mapped case. Fixes: f3256075ba49 ("block: remove the BIO_NULL_MAPPED flag") Reported-by: Marc Hartmayer Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe --- block/blk-map.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/blk-map.c b/block/blk-map.c index be118926ccf4..21630dccac62 100644 --- a/block/blk-map.c +++ b/block/blk-map.c @@ -148,6 +148,7 @@ static int bio_copy_user_iov(struct request *rq, struct rq_map_data *map_data, * shortlived one. */ bmd->is_our_pages = !map_data; + bmd->is_null_mapped = (map_data && map_data->null_mapped); nr_pages = DIV_ROUND_UP(offset + len, PAGE_SIZE); if (nr_pages > BIO_MAX_PAGES) @@ -218,8 +219,6 @@ static int bio_copy_user_iov(struct request *rq, struct rq_map_data *map_data, } bio->bi_private = bmd; - if (map_data && map_data->null_mapped) - bmd->is_null_mapped = true; bounce_bio = bio; ret = blk_rq_append_bio(rq, &bounce_bio);