2023-12-04 08:07:17

by liujing

[permalink] [raw]
Subject: [PATCH] Fixed an open function not judging the return value and closed the open function

Signed-off-by: liujing <[email protected]>
---
tools/testing/selftests/proc/proc-pid-vm.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
index cacbd2a4aec9..5fc9b46f236f 100644
--- a/tools/testing/selftests/proc/proc-pid-vm.c
+++ b/tools/testing/selftests/proc/proc-pid-vm.c
@@ -205,7 +205,12 @@ static int make_exe(const uint8_t *payload, size_t len)
/* Avoid ETXTBSY on exec. */
snprintf(buf, sizeof(buf), "/proc/self/fd/%u", fd);
fd1 = open(buf, O_RDONLY|O_CLOEXEC);
+ if (fd == -1) {
+ exit(1);
+ }
+
close(fd);
+ close(fd1);

return fd1;
}
--
2.18.2




2023-12-04 19:37:33

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] Fixed an open function not judging the return value and closed the open function

On Mon, 4 Dec 2023 03:05:54 -0500 liujing <[email protected]> wrote:

> Signed-off-by: liujing <[email protected]>
> ---
> tools/testing/selftests/proc/proc-pid-vm.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/tools/testing/selftests/proc/proc-pid-vm.c b/tools/testing/selftests/proc/proc-pid-vm.c
> index cacbd2a4aec9..5fc9b46f236f 100644
> --- a/tools/testing/selftests/proc/proc-pid-vm.c
> +++ b/tools/testing/selftests/proc/proc-pid-vm.c
> @@ -205,7 +205,12 @@ static int make_exe(const uint8_t *payload, size_t len)
> /* Avoid ETXTBSY on exec. */
> snprintf(buf, sizeof(buf), "/proc/self/fd/%u", fd);
> fd1 = open(buf, O_RDONLY|O_CLOEXEC);
> + if (fd == -1) {

fd1

> + exit(1);
> + }

unneeded braces

> close(fd);
> + close(fd1);
>
> return fd1;

Returning an fd which we just closed is clearly wrong.