From: Dan Carpenter Date: Sat, 30 Nov 2024 10:07:56 +0000 (+0300) Subject: opp: core: Fix off by one in dev_pm_opp_get_bw() X-Git-Tag: v6.14-rc1~174^2~1^2~11^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=402074f0105e93154409e4a86c02d09e5199d9a5;p=thirdparty%2Fkernel%2Flinux.git opp: core: Fix off by one in dev_pm_opp_get_bw() The "opp->bandwidth" array has "opp->opp_table->path_count" number of elements. It's allocated in _opp_allocate(). So this > needs to be >= to prevent an out of bounds access. Fixes: d78653dcd8bf ("opp: core: implement dev_pm_opp_get_bw") Signed-off-by: Dan Carpenter Signed-off-by: Viresh Kumar --- diff --git a/drivers/opp/core.c b/drivers/opp/core.c index d4a0030a0228d..09a1432561f63 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -121,7 +121,7 @@ unsigned long dev_pm_opp_get_bw(struct dev_pm_opp *opp, bool peak, int index) return 0; } - if (index > opp->opp_table->path_count) + if (index >= opp->opp_table->path_count) return 0; if (!opp->bandwidth)