]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
opp: core: Fix off by one in dev_pm_opp_get_bw()
authorDan Carpenter <dan.carpenter@linaro.org>
Sat, 30 Nov 2024 10:07:56 +0000 (13:07 +0300)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 23 Dec 2024 10:57:23 +0000 (16:27 +0530)
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 <dan.carpenter@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/opp/core.c

index d4a0030a0228d6282d672e3ffe3aeea27e80822a..09a1432561f63923bc89a33dd397b27021a87d38 100644 (file)
@@ -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)