diff options
| author | Pengjie Zhang <zhangpengjie2@huawei.com> | 2025-09-15 14:21:35 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-12-18 13:59:51 +0100 |
| commit | efb028b07f7b2d141b91c2fab5276b601f0d0dbe (patch) | |
| tree | ecc33786b5b0cbc0b4f70332166b09773bf7e15b | |
| parent | 5b6f8caefd9db59fe92152887614d34e444f7827 (diff) | |
PM / devfreq: hisi: Fix potential UAF in OPP handling
[ Upstream commit 26dd44a40096468396b6438985d8e44e0743f64c ]
Ensure all required data is acquired before calling dev_pm_opp_put(opp)
to maintain correct resource acquisition and release order.
Fixes: 7da2fdaaa1e6 ("PM / devfreq: Add HiSilicon uncore frequency scaling driver")
Signed-off-by: Pengjie Zhang <zhangpengjie2@huawei.com>
Reviewed-by: Jie Zhan <zhanjie9@hisilicon.com>
Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Link: https://patchwork.kernel.org/project/linux-pm/patch/20250915062135.748653-1-zhangpengjie2@huawei.com/
Signed-off-by: Sasha Levin <sashal@kernel.org>
| -rw-r--r-- | drivers/devfreq/hisi_uncore_freq.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/devfreq/hisi_uncore_freq.c b/drivers/devfreq/hisi_uncore_freq.c index 96d1815059e3..c1ed70fa0a40 100644 --- a/drivers/devfreq/hisi_uncore_freq.c +++ b/drivers/devfreq/hisi_uncore_freq.c @@ -265,10 +265,11 @@ static int hisi_uncore_target(struct device *dev, unsigned long *freq, dev_err(dev, "Failed to get opp for freq %lu hz\n", *freq); return PTR_ERR(opp); } - dev_pm_opp_put(opp); data = (u32)(dev_pm_opp_get_freq(opp) / HZ_PER_MHZ); + dev_pm_opp_put(opp); + return hisi_uncore_cmd_send(uncore, HUCF_PCC_CMD_SET_FREQ, &data); } |
