drm/amdgpu/mes: Add NULL check for mes_hung_db_array allocation

kcalloc but does not check for failure. If the allocation fails, the
pointer remains NULL but the function returns success. Subsequent code
using this buffer will dereference a NULL pointer, causing a kernel
oops. Add a check to return -ENOMEM if the allocation fails.

Signed-off-by: Geoffrey McRae <geoffrey.mcrae@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Geoffrey McRae 2026-06-28 16:17:01 +10:00 committed by Alex Deucher
parent f4c7d8293f
commit f3f622b43e

View File

@ -250,11 +250,16 @@ int amdgpu_mes_init(struct amdgpu_device *adev)
goto error_doorbell;
}
}
}
adev->gfx.mec.mes_hung_db_array =
kcalloc(amdgpu_mes_get_hung_queue_db_array_size(adev),
sizeof(u32), GFP_KERNEL);
adev->gfx.mec.mes_hung_db_array =
kcalloc(amdgpu_mes_get_hung_queue_db_array_size(adev),
sizeof(u32), GFP_KERNEL);
if (!adev->gfx.mec.mes_hung_db_array) {
r = -ENOMEM;
goto error_doorbell;
}
}
return 0;