dm zoned: Potential NULL dereference in dmz_do_reclaim()
Subsystems (2)
PATCH 1/1 dm zoned: Potential NULL dereference in dmz_do_reclaim()
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 <[email protected]>
--- drivers/md/dm-zoned-metadata.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/md/dm-zoned-metadata.c +2 -2
@@ -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 ); }/*
Signature · 1 line
2.20.1
Dan,
Quoted 24 lines · Dan Carpenter
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 indmz_do_reclaim()Fixes b234c6d7a703 ("dm zoned: improve error handling in reclaim")Signed-off-by Dan Carpenter <[email protected]>--- drivers/md/dm-zoned-metadata.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/md/dm-zoned-metadata.c +1
-1@@ -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)
drivers/md/dm-zoned-metadata.c static struct dm_zone *dmz_get_seq_zone_for_reclaim(struct dmz_metadata *zmd) · line 1603
Quoted 8 lines
drivers/md/dm-zoned-metadata.c +1
-1@@ -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 <[email protected]>