| From 4e3d9508c056d7e0a56b58d5c81253e2a0d22b6c Mon Sep 17 00:00:00 2001 |
| From: Denis Arefev <arefev@swemel.ru> |
| Date: Fri, 21 Mar 2025 13:52:33 +0300 |
| Subject: drm/amd/pm/powerplay/hwmgr/vega20_thermal: Prevent division by zero |
| |
| From: Denis Arefev <arefev@swemel.ru> |
| |
| commit 4e3d9508c056d7e0a56b58d5c81253e2a0d22b6c upstream. |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_thermal.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_thermal.c |
| +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_thermal.c |
| @@ -191,7 +191,7 @@ int vega20_fan_ctrl_set_fan_speed_rpm(st |
| 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)) { |