]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/amd/pm: Prevent division by zero
authorDenis Arefev <arefev@swemel.ru>
Fri, 21 Mar 2025 10:52:33 +0000 (13:52 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 26 Mar 2025 21:41:31 +0000 (17:41 -0400)
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
drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_thermal.c

index a3331ffb2daf7f5670dc8e1e19f59cce8e3bee5e..1b1c88590156cd91f8f05dd46b374851979ff0f7 100644 (file)
@@ -191,7 +191,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)) {