From: Matthew Sakai Date: Wed, 11 Feb 2026 15:05:55 +0000 (-0500) Subject: dm vdo slab-depot: validate old zone count on load X-Git-Url: http://git.ipfire.org/index.cgi?a=commitdiff_plain;h=b3929b2cc2a6003b8e301e6540c651e60d24dcb4;p=thirdparty%2Fkernel%2Flinux.git dm vdo slab-depot: validate old zone count on load Verify the old zone count has a valid value before using it to compute slab summary entry offsets. Signed-off-by: Matthew Sakai Signed-off-by: Mikulas Patocka --- diff --git a/drivers/md/dm-vdo/slab-depot.c b/drivers/md/dm-vdo/slab-depot.c index 034ecaa51f481..ad00afc2c168d 100644 --- a/drivers/md/dm-vdo/slab-depot.c +++ b/drivers/md/dm-vdo/slab-depot.c @@ -4262,6 +4262,10 @@ int vdo_decode_slab_depot(struct slab_depot_state_2_0 state, struct vdo *vdo, } slab_size_shift = ilog2(slab_size); + if (state.zone_count > MAX_VDO_PHYSICAL_ZONES) + return vdo_log_error_strerror(UDS_CORRUPT_DATA, + "invalid zone count"); + result = vdo_allocate_extended(struct slab_depot, vdo->thread_config.physical_zone_count, struct block_allocator, __func__, &depot);