Re: [PATCH] block: fix bmd->is_null_mapped initialization

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux