From: Dan Carpenter Date: Thu, 10 Oct 2024 18:35:36 +0000 (+0300) Subject: drm/amdgpu: Fix off by one in current_memory_partition_show() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9f7e94af35996effead76ff2837b5ba322e38963;p=users%2Fjedix%2Flinux-maple.git drm/amdgpu: Fix off by one in current_memory_partition_show() The >= ARRAY_SIZE() should be > ARRAY_SIZE() to prevent an out of bounds read. Fixes: 012be6f22c01 ("drm/amdgpu: Add sysfs interfaces for NPS mode") Reviewed-by: Lijo Lazar Signed-off-by: Dan Carpenter Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c index 4e0a2d86a726..1c19a65e6553 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c @@ -1199,7 +1199,7 @@ static ssize_t current_memory_partition_show( enum amdgpu_memory_partition mode; mode = adev->gmc.gmc_funcs->query_mem_partition_mode(adev); - if ((mode > ARRAY_SIZE(nps_desc)) || + if ((mode >= ARRAY_SIZE(nps_desc)) || (BIT(mode) & AMDGPU_ALL_NPS_MASK) != BIT(mode)) return sysfs_emit(buf, "UNKNOWN\n");