From: Matthew Sakai Date: Wed, 11 Feb 2026 15:05:54 +0000 (-0500) Subject: dm vdo indexer: validate saved zone count X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9e809bb1defe9be7fed2e21552c6b03b2694394d;p=thirdparty%2Fkernel%2Flinux.git dm vdo indexer: validate saved zone count Verify that the loaded zone count is in the valid range before using it as a loop iterator. Signed-off-by: Matthew Sakai Signed-off-by: Mikulas Patocka --- diff --git a/drivers/md/dm-vdo/indexer/index-layout.c b/drivers/md/dm-vdo/indexer/index-layout.c index 61edf2b72427d..37144249f7ba6 100644 --- a/drivers/md/dm-vdo/indexer/index-layout.c +++ b/drivers/md/dm-vdo/indexer/index-layout.c @@ -1445,6 +1445,9 @@ static int __must_check reconstruct_index_save(struct index_save_layout *isl, u64 last_block = next_block + isl->index_save.block_count; isl->zone_count = table->header.region_count - 3; + if (isl->zone_count > MAX_ZONES) + return vdo_log_error_strerror(UDS_CORRUPT_DATA, + "invalid zone count"); last_region = &table->regions[table->header.region_count - 1]; if (last_region->kind == RL_KIND_EMPTY) {