2023-10-17 02:35:11

by Zhu Jun

[permalink] [raw]
Subject: [PATCH] selftests/efivarfs: create-read: fix a resource leak

The opened file should be closed in main(), otherwise resource
leak will occur

Signed-off-by: zhujun2 <[email protected]>
---
tools/testing/selftests/efivarfs/create-read.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/tools/testing/selftests/efivarfs/create-read.c b/tools/testing/selftests/efivarfs/create-read.c
index 9674a1939..6812104a5 100644
--- a/tools/testing/selftests/efivarfs/create-read.c
+++ b/tools/testing/selftests/efivarfs/create-read.c
@@ -32,8 +32,11 @@ int main(int argc, char **argv)
rc = read(fd, buf, sizeof(buf));
if (rc != 0) {
fprintf(stderr, "Reading a new var should return EOF\n");
+ close(fd);
return EXIT_FAILURE;
}

+ close(fd);
+
return EXIT_SUCCESS;
}
--
2.17.1




2023-10-17 15:47:12

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests/efivarfs: create-read: fix a resource leak

On 10/16/23 20:33, zhujun2 wrote:
> The opened file should be closed in main(), otherwise resource
> leak will occur
>

Did you find this by code reading or by any other means. Please
add how you found the problem to the change log.

> Signed-off-by: zhujun2 <[email protected]>
> ---
> tools/testing/selftests/efivarfs/create-read.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/testing/selftests/efivarfs/create-read.c b/tools/testing/selftests/efivarfs/create-read.c
> index 9674a1939..6812104a5 100644
> --- a/tools/testing/selftests/efivarfs/create-read.c
> +++ b/tools/testing/selftests/efivarfs/create-read.c
> @@ -32,8 +32,11 @@ int main(int argc, char **argv)
> rc = read(fd, buf, sizeof(buf));
> if (rc != 0) {
> fprintf(stderr, "Reading a new var should return EOF\n");
> + close(fd);
> return EXIT_FAILURE;
> }
>
> + close(fd);
> +

No need for this extra line here.

> return EXIT_SUCCESS;
> }

thanks,
-- Shuah

2023-10-18 01:59:49

by Zhu Jun

[permalink] [raw]
Subject: [PATCH] selftests/efivarfs: create-read: fix a resource leak

The opened file should be closed in main(), otherwise resource
leak will occur that this problem was discovered by code reading

Signed-off-by: zhujun2 <[email protected]>
---
tools/testing/selftests/efivarfs/create-read.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/efivarfs/create-read.c b/tools/testing/selftests/efivarfs/create-read.c
index 9674a1939..7bc7af4eb 100644
--- a/tools/testing/selftests/efivarfs/create-read.c
+++ b/tools/testing/selftests/efivarfs/create-read.c
@@ -32,8 +32,10 @@ int main(int argc, char **argv)
rc = read(fd, buf, sizeof(buf));
if (rc != 0) {
fprintf(stderr, "Reading a new var should return EOF\n");
+ close(fd);
return EXIT_FAILURE;
}

+ close(fd);
return EXIT_SUCCESS;
}
--
2.17.1



2023-10-18 19:08:18

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] selftests/efivarfs: create-read: fix a resource leak

On 10/17/23 19:59, zhujun2 wrote:
> The opened file should be closed in main(), otherwise resource
> leak will occur that this problem was discovered by code reading
>
> Signed-off-by: zhujun2 <[email protected]>
> ---
> tools/testing/selftests/efivarfs/create-read.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/testing/selftests/efivarfs/create-read.c b/tools/testing/selftests/efivarfs/create-read.c
> index 9674a1939..7bc7af4eb 100644
> --- a/tools/testing/selftests/efivarfs/create-read.c
> +++ b/tools/testing/selftests/efivarfs/create-read.c
> @@ -32,8 +32,10 @@ int main(int argc, char **argv)
> rc = read(fd, buf, sizeof(buf));
> if (rc != 0) {
> fprintf(stderr, "Reading a new var should return EOF\n");
> + close(fd);
> return EXIT_FAILURE;
> }
>
> + close(fd);
> return EXIT_SUCCESS;
> }

Thank you. Applied to linux-kselftest next for Linux 6.7-c1.

thanks,
-- Shuah