From: Colin Ian King <colin.king@xxxxxxxxxxxxx> In the case where recursing(mm) is true variable r2 is not inintialized and an uninitialized value is being used in the call combine_errors later on. Fix this by setting r2 to zero. Addresses-Coverity: ("Uninitialized scalar variable") Fixes: def6a7a9a7f0 ("dm space maps: improve performance with inc/dec on ranges of blocks") Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> --- drivers/md/persistent-data/dm-space-map-metadata.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/md/persistent-data/dm-space-map-metadata.c b/drivers/md/persistent-data/dm-space-map-metadata.c index 3b70ee861cf5..5be5ef4c831f 100644 --- a/drivers/md/persistent-data/dm-space-map-metadata.c +++ b/drivers/md/persistent-data/dm-space-map-metadata.c @@ -432,9 +432,10 @@ static int sm_metadata_dec_blocks(struct dm_space_map *sm, dm_block_t b, dm_bloc int32_t nr_allocations; struct sm_metadata *smm = container_of(sm, struct sm_metadata, sm); - if (recursing(smm)) + if (recursing(smm)) { r = add_bop(smm, BOP_DEC, b, e); - else { + r2 = 0; + } else { in(smm); r = sm_ll_dec(&smm->ll, b, e, &nr_allocations); r2 = out(smm); -- 2.31.1