2022-07-18 13:43:12

by Dan Carpenter

[permalink] [raw]
Subject: [PATCH] tools/power/x86/intel-speed-select: Fix off by one check

Change > MAX_DIE_PER_PACKAGE to >= MAX_DIE_PER_PACKAGE to prevent
accessing one element beyond the end of the array.

Fixes: 7fd786dfbd2c ("tools/power/x86/intel-speed-select: OOB daemon mode")
Signed-off-by: Dan Carpenter <[email protected]>
---
tools/power/x86/intel-speed-select/isst-daemon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/power/x86/intel-speed-select/isst-daemon.c b/tools/power/x86/intel-speed-select/isst-daemon.c
index dd372924bc82..d0400c6684ba 100644
--- a/tools/power/x86/intel-speed-select/isst-daemon.c
+++ b/tools/power/x86/intel-speed-select/isst-daemon.c
@@ -41,7 +41,7 @@ void process_level_change(int cpu)
time_t tm;
int ret;

- if (pkg_id >= MAX_PACKAGE_COUNT || die_id > MAX_DIE_PER_PACKAGE) {
+ if (pkg_id >= MAX_PACKAGE_COUNT || die_id >= MAX_DIE_PER_PACKAGE) {
debug_printf("Invalid package/die info for cpu:%d\n", cpu);
return;
}
--
2.35.1


2022-07-18 15:32:16

by srinivas pandruvada

[permalink] [raw]
Subject: Re: [PATCH] tools/power/x86/intel-speed-select: Fix off by one check

On Mon, 2022-07-18 at 16:17 +0300, Dan Carpenter wrote:
> Change > MAX_DIE_PER_PACKAGE to >= MAX_DIE_PER_PACKAGE to prevent
> accessing one element beyond the end of the array.
>
> Fixes: 7fd786dfbd2c ("tools/power/x86/intel-speed-select: OOB daemon
> mode")
> Signed-off-by: Dan Carpenter <[email protected]>
Thanks. I will add to PULL request.


> ---
>  tools/power/x86/intel-speed-select/isst-daemon.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/power/x86/intel-speed-select/isst-daemon.c
> b/tools/power/x86/intel-speed-select/isst-daemon.c
> index dd372924bc82..d0400c6684ba 100644
> --- a/tools/power/x86/intel-speed-select/isst-daemon.c
> +++ b/tools/power/x86/intel-speed-select/isst-daemon.c
> @@ -41,7 +41,7 @@ void process_level_change(int cpu)
>         time_t tm;
>         int ret;
>  
> -       if (pkg_id >= MAX_PACKAGE_COUNT || die_id >
> MAX_DIE_PER_PACKAGE) {
> +       if (pkg_id >= MAX_PACKAGE_COUNT || die_id >=
> MAX_DIE_PER_PACKAGE) {
>                 debug_printf("Invalid package/die info for cpu:%d\n",
> cpu);
>                 return;
>         }