[dm-devel] [PATCH] dm zoned: Fix uninitialized pointer dereference

Hannes Reinecke hare at suse.de
Mon Jun 8 06:22:53 UTC 2020


On 6/8/20 6:20 AM, Damien Le Moal wrote:
> Make sure that the local variable rzone in dmz_do_reclaim() is always
> initialized before being used for printing debug messages.
> 
> Fixes: f97809aec589 ("dm zoned: per-device reclaim")
> Signed-off-by: Damien Le Moal <damien.lemoal at wdc.com>
> Cc: Hannes Reinecke <hare at suse.de>
> ---
>   drivers/md/dm-zoned-reclaim.c | 4 +---
>   1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/md/dm-zoned-reclaim.c b/drivers/md/dm-zoned-reclaim.c
> index 2261b4dd60b7..dd1eebf6e50f 100644
> --- a/drivers/md/dm-zoned-reclaim.c
> +++ b/drivers/md/dm-zoned-reclaim.c
> @@ -377,6 +377,7 @@ static int dmz_do_reclaim(struct dmz_reclaim *zrc)
>   			dmz_metadata_label(zmd), zrc->dev_idx);
>   		return -EBUSY;
>   	}
> +	rzone = dzone;
>   
>   	start = jiffies;
>   	if (dmz_is_cache(dzone) || dmz_is_rnd(dzone)) {
> @@ -391,8 +392,6 @@ static int dmz_do_reclaim(struct dmz_reclaim *zrc)
>   			 */
>   			ret = dmz_reclaim_rnd_data(zrc, dzone);
>   		}
> -		rzone = dzone;
> -
>   	} else {
>   		struct dm_zone *bzone = dzone->bzone;
>   		sector_t chunk_block = 0;
> @@ -415,7 +414,6 @@ static int dmz_do_reclaim(struct dmz_reclaim *zrc)
>   			 * be later reclaimed.
>   			 */
>   			ret = dmz_reclaim_seq_data(zrc, dzone);
> -			rzone = dzone;
>   		}
>   	}
>   out:
> 
Reviewed-by: Hannes Reinecke <hare at suse.de>

Cheers,

Hannes
-- 
Dr. Hannes Reinecke            Teamlead Storage & Networking
hare at suse.de                               +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Felix Imendörffer





More information about the dm-devel mailing list