[dm-devel] [PATCH] dm zoned: Potential NULL dereference in dmz_do_reclaim()

Dmitry Fomichev Dmitry.Fomichev at wdc.com
Mon Aug 19 16:11:18 UTC 2019


Dan,

On Mon, 2019-08-19 at 12:58 +0300, Dan Carpenter wrote:
> This function is supposed to return error pointers so it matches the
> dmz_get_rnd_zone_for_reclaim() function.  The current code could lead to
> a NULL dereference in dmz_do_reclaim()
> 
> Fixes: b234c6d7a703 ("dm zoned: improve error handling in reclaim")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> ---
>  drivers/md/dm-zoned-metadata.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/md/dm-zoned-metadata.c b/drivers/md/dm-zoned-metadata.c
> index 2a5bc51fd6d5..595a73110e17 100644
> --- a/drivers/md/dm-zoned-metadata.c
> +++ b/drivers/md/dm-zoned-metadata.c
> @@ -1588,7 +1588,7 @@ static struct dm_zone *dmz_get_seq_zone_for_reclaim(struct dmz_metadata *zmd)
>  	struct dm_zone *zone;
>  
>  	if (list_empty(&zmd->map_seq_list))
> -		return NULL;
> +		return ERR_PTR(-EBUSY);
>  
>  	list_for_each_entry(zone, &zmd->map_seq_list, link) {
>  		if (!zone->bzone)
> @@ -1597,7 +1597,7 @@ static struct dm_zone *dmz_get_seq_zone_for_reclaim(struct dmz_metadata *zmd)
>  			return zone;
>  	}
>  
> -	return NULL;
> +	return ERR_PTR(-EBUSY);
>  }
>  
>  /*

thanks for noticing this -

Reviewed-by: Dmitry Fomichev <dmitry.fomichev at wdc.com>




More information about the dm-devel mailing list