On Wed, Sep 23, 2020 at 05:07 PM +0200, Christoph Hellwig <hch@xxxxxx> wrote: > 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 <mhartmay@xxxxxxxxxxxxx> > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > 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 be118926ccf4e3..21630dccac628c 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); > -- > 2.28.0 Tested-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxx>