]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
ASoC: stm: Prevent potential division by zero in stm32_sai_mclk_round_rate()
authorLuo Yifan <luoyifan@cmss.chinamobile.com>
Wed, 6 Nov 2024 01:46:54 +0000 (09:46 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 14 Dec 2024 18:47:42 +0000 (19:47 +0100)
[ Upstream commit 63c1c87993e0e5bb11bced3d8224446a2bc62338 ]

This patch checks if div is less than or equal to zero (div <= 0). If
div is zero or negative, the function returns -EINVAL, ensuring the
division operation (*prate / div) is safe to perform.

Signed-off-by: Luo Yifan <luoyifan@cmss.chinamobile.com>
Link: https://patch.msgid.link/20241106014654.206860-1-luoyifan@cmss.chinamobile.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/stm/stm32_sai_sub.c

index 3aa1cf262402034f0706ec8bb923e19fe4b52d1f..3a7f0102b4c5c2d0d6c65758a8d280264f833a6c 100644 (file)
@@ -380,8 +380,8 @@ static long stm32_sai_mclk_round_rate(struct clk_hw *hw, unsigned long rate,
        int div;
 
        div = stm32_sai_get_clk_div(sai, *prate, rate);
-       if (div < 0)
-               return div;
+       if (div <= 0)
+               return -EINVAL;
 
        mclk->freq = *prate / div;