* [PATCH] tools/power/x86/intel-speed-select: Fix file descriptor leak in isolate_cpus()
@ 2026-01-15 10:03 Malaya Kumar Rout
2026-01-16 23:43 ` srinivas pandruvada
0 siblings, 1 reply; 2+ messages in thread
From: Malaya Kumar Rout @ 2026-01-15 10:03 UTC (permalink / raw)
To: srinivas.pandruvada
Cc: mrout, malayarout91, platform-driver-x86, linux-kernel
The file descriptor opened in isolate_cpus() when (!level) is true was
not being closed before returning, causing a file descriptor leak in
both the error path and the success path.
When write() fails at line 950, the function returns at line 953 without
closing the file descriptor. Similarly, on success, the function returns
at line 956 without closing the file descriptor.
Add close(fd) calls before both return statements to fix the resource
leak. This follows the same pattern used elsewhere in the same function
where file descriptors are properly closed before returning (see lines
1005 and 1027).
Fixes: 997074df658e ("tools/power/x86/intel-speed-select: Use cgroup v2 isolation")
Signed-off-by: Malaya Kumar Rout <mrout@redhat.com>
---
tools/power/x86/intel-speed-select/isst-config.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/tools/power/x86/intel-speed-select/isst-config.c b/tools/power/x86/intel-speed-select/isst-config.c
index 558138eea75e..d00d15490a98 100644
--- a/tools/power/x86/intel-speed-select/isst-config.c
+++ b/tools/power/x86/intel-speed-select/isst-config.c
@@ -950,9 +950,11 @@ int isolate_cpus(struct isst_id *id, int mask_size, cpu_set_t *cpu_mask, int lev
ret = write(fd, "member", strlen("member"));
if (ret == -1) {
printf("Can't update to member\n");
+ close(fd);
return ret;
}
+ close(fd);
return 0;
}
--
2.52.0
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] tools/power/x86/intel-speed-select: Fix file descriptor leak in isolate_cpus()
2026-01-15 10:03 [PATCH] tools/power/x86/intel-speed-select: Fix file descriptor leak in isolate_cpus() Malaya Kumar Rout
@ 2026-01-16 23:43 ` srinivas pandruvada
0 siblings, 0 replies; 2+ messages in thread
From: srinivas pandruvada @ 2026-01-16 23:43 UTC (permalink / raw)
To: Malaya Kumar Rout; +Cc: malayarout91, platform-driver-x86, linux-kernel
On Thu, 2026-01-15 at 15:33 +0530, Malaya Kumar Rout wrote:
> The file descriptor opened in isolate_cpus() when (!level) is true
> was
> not being closed before returning, causing a file descriptor leak in
> both the error path and the success path.
>
> When write() fails at line 950, the function returns at line 953
> without
> closing the file descriptor. Similarly, on success, the function
> returns
> at line 956 without closing the file descriptor.
>
> Add close(fd) calls before both return statements to fix the resource
> leak. This follows the same pattern used elsewhere in the same
> function
> where file descriptors are properly closed before returning (see
> lines
> 1005 and 1027).
>
> Fixes: 997074df658e ("tools/power/x86/intel-speed-select: Use cgroup
> v2 isolation")
Thanks for the change. Will include in the next pull request.
-Srinivas
> Signed-off-by: Malaya Kumar Rout <mrout@redhat.com>
> ---
> tools/power/x86/intel-speed-select/isst-config.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/power/x86/intel-speed-select/isst-config.c
> b/tools/power/x86/intel-speed-select/isst-config.c
> index 558138eea75e..d00d15490a98 100644
> --- a/tools/power/x86/intel-speed-select/isst-config.c
> +++ b/tools/power/x86/intel-speed-select/isst-config.c
> @@ -950,9 +950,11 @@ int isolate_cpus(struct isst_id *id, int
> mask_size, cpu_set_t *cpu_mask, int lev
> ret = write(fd, "member", strlen("member"));
> if (ret == -1) {
> printf("Can't update to member\n");
> + close(fd);
> return ret;
> }
>
> + close(fd);
> return 0;
> }
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-01-16 23:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-15 10:03 [PATCH] tools/power/x86/intel-speed-select: Fix file descriptor leak in isolate_cpus() Malaya Kumar Rout
2026-01-16 23:43 ` srinivas pandruvada
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®