drm/amdgpu: Fix off by one in current_memory_partition_show()
authorDan Carpenter <dan.carpenter@linaro.org>
Thu, 10 Oct 2024 18:35:36 +0000 (21:35 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Oct 2024 15:26:35 +0000 (11:26 -0400)
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 <lijo.lazar@amd.com>
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c

index 4e0a2d8..1c19a65 100644 (file)
@@ -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");