| From 758d3ed6193d80966f48338b802bcda7e22d637a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Mon, 5 Dec 2022 12:44:27 +0400 |
| Subject: selftests/powerpc: Fix resource leaks |
| |
| From: Miaoqian Lin <linmq006@gmail.com> |
| |
| [ Upstream commit 8f4ab7da904ab7027ccd43ddb4f0094e932a5877 ] |
| |
| In check_all_cpu_dscr_defaults, opendir() opens the directory stream. |
| Add missing closedir() in the error path to release it. |
| |
| In check_cpu_dscr_default, open() creates an open file descriptor. |
| Add missing close() in the error path to release it. |
| |
| Fixes: ebd5858c904b ("selftests/powerpc: Add test for all DSCR sysfs interfaces") |
| Signed-off-by: Miaoqian Lin <linmq006@gmail.com> |
| Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> |
| Link: https://lore.kernel.org/r/20221205084429.570654-1-linmq006@gmail.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| diff --git a/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c b/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c |
| index fbbdffdb2e5d..f20d1c166d1e 100644 |
| --- a/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c |
| +++ b/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c |
| @@ -24,6 +24,7 @@ static int check_cpu_dscr_default(char *file, unsigned long val) |
| rc = read(fd, buf, sizeof(buf)); |
| if (rc == -1) { |
| perror("read() failed"); |
| + close(fd); |
| return 1; |
| } |
| close(fd); |
| @@ -65,8 +66,10 @@ static int check_all_cpu_dscr_defaults(unsigned long val) |
| if (access(file, F_OK)) |
| continue; |
| |
| - if (check_cpu_dscr_default(file, val)) |
| + if (check_cpu_dscr_default(file, val)) { |
| + closedir(sysfs); |
| return 1; |
| + } |
| } |
| closedir(sysfs); |
| return 0; |
| -- |
| 2.35.1 |
| |