]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: qcom: clk-rpmh: prevent integer overflow in recalc_rate
authorAnastasia Belova <abelova@astralinux.ru>
Tue, 3 Dec 2024 08:42:31 +0000 (11:42 +0300)
committerBjorn Andersson <andersson@kernel.org>
Thu, 26 Dec 2024 21:40:20 +0000 (15:40 -0600)
aggr_state and unit fields are u32. The result of their
multiplication may not fit in this type.

Add explicit casting to prevent overflow.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support")
Cc: stable@vger.kernel.org # 5.4+
Signed-off-by: Anastasia Belova <abelova@astralinux.ru>
Link: https://lore.kernel.org/r/20241203084231.6001-1-abelova@astralinux.ru
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/clk-rpmh.c

index 0a326b675d0e074b4ac56cd46092974399df0702..7c6b6ef642c11fe1dab7f93541f0442208ea6f3d 100644 (file)
@@ -329,7 +329,7 @@ static unsigned long clk_rpmh_bcm_recalc_rate(struct clk_hw *hw,
 {
        struct clk_rpmh *c = to_clk_rpmh(hw);
 
-       return c->aggr_state * c->unit;
+       return (unsigned long)c->aggr_state * c->unit;
 }
 
 static const struct clk_ops clk_rpmh_bcm_ops = {