| From 2af17c1fd0c7bdc552a33b08bb08e2cacf03be33 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 21 Mar 2025 13:52:33 +0300 |
| Subject: drm/amd/pm: Prevent division by zero |
| |
| From: Denis Arefev <arefev@swemel.ru> |
| |
| [ Upstream commit 4e3d9508c056d7e0a56b58d5c81253e2a0d22b6c ] |
| |
| The user can set any speed value. |
| If speed is greater than UINT_MAX/8, division by zero is possible. |
| |
| Found by Linux Verification Center (linuxtesting.org) with SVACE. |
| |
| Fixes: 031db09017da ("drm/amd/powerplay/vega20: enable fan RPM and pwm settings V2") |
| Signed-off-by: Denis Arefev <arefev@swemel.ru> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c |
| index ce56b93871e8f..d057c6f7e1fce 100644 |
| --- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c |
| +++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_thermal.c |
| @@ -189,7 +189,7 @@ int vega20_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) |
| uint32_t tach_period, crystal_clock_freq; |
| int result = 0; |
| |
| - if (!speed) |
| + if (!speed || speed > UINT_MAX/8) |
| return -EINVAL; |
| |
| if (PP_CAP(PHM_PlatformCaps_MicrocodeFanControl)) { |
| -- |
| 2.39.5 |
| |