From: Richard Palethorpe <rpalethorpe@suse.de>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: mszeredi@redhat.com, brauner@kernel.org, Jan Kara <jack@suse.cz>,
Matthew Wilcox <willy@infradead.org>,
viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v2 3/4] syscalls: accept: Add tst_fd test
Date: Tue, 24 Oct 2023 10:26:19 +0100 [thread overview]
Message-ID: <87fs20v07j.fsf@suse.de> (raw)
In-Reply-To: <20231016123320.9865-4-chrubis@suse.cz>
Hello,
Cyril Hrubis <chrubis@suse.cz> writes:
> It looks like we return wrong errno on O_PATH file and open_tree() file descriptors.
>
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
> runtest/syscalls | 1 +
> testcases/kernel/syscalls/accept/.gitignore | 1 +
> testcases/kernel/syscalls/accept/accept01.c | 8 ----
> testcases/kernel/syscalls/accept/accept03.c | 47 +++++++++++++++++++++
> 4 files changed, 49 insertions(+), 8 deletions(-)
> create mode 100644 testcases/kernel/syscalls/accept/accept03.c
>
> diff --git a/runtest/syscalls b/runtest/syscalls
> index 53e519639..55396aad8 100644
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -3,6 +3,7 @@ abort01 abort01
>
> accept01 accept01
> accept02 accept02
> +accept03 accept03
>
> accept4_01 accept4_01
>
> diff --git a/testcases/kernel/syscalls/accept/.gitignore b/testcases/kernel/syscalls/accept/.gitignore
> index 5b1462699..f81d4bec9 100644
> --- a/testcases/kernel/syscalls/accept/.gitignore
> +++ b/testcases/kernel/syscalls/accept/.gitignore
> @@ -1,2 +1,3 @@
> /accept01
> /accept02
> +/accept03
> diff --git a/testcases/kernel/syscalls/accept/accept01.c b/testcases/kernel/syscalls/accept/accept01.c
> index 85af0f8af..e5db1dfec 100644
> --- a/testcases/kernel/syscalls/accept/accept01.c
> +++ b/testcases/kernel/syscalls/accept/accept01.c
> @@ -26,7 +26,6 @@
> struct sockaddr_in sin0, sin1, fsin1;
>
> int invalid_socketfd = 400; /* anything that is not an open file */
> -int devnull_fd;
> int socket_fd;
> int udp_fd;
>
> @@ -45,10 +44,6 @@ static struct test_case {
> (struct sockaddr *)&fsin1, sizeof(fsin1), EBADF,
> "bad file descriptor"
> },
> - {
> - PF_INET, SOCK_STREAM, 0, &devnull_fd, (struct sockaddr *)&fsin1,
> - sizeof(fsin1), ENOTSOCK, "fd is not socket"
> - },
> {
> PF_INET, SOCK_STREAM, 0, &socket_fd, (struct sockaddr *)3,
> sizeof(fsin1), EINVAL, "invalid socket buffer"
> @@ -73,8 +68,6 @@ static void test_setup(void)
> sin0.sin_port = 0;
> sin0.sin_addr.s_addr = INADDR_ANY;
>
> - devnull_fd = SAFE_OPEN("/dev/null", O_WRONLY);
> -
> socket_fd = SAFE_SOCKET(PF_INET, SOCK_STREAM, 0);
> SAFE_BIND(socket_fd, (struct sockaddr *)&sin0, sizeof(sin0));
>
> @@ -88,7 +81,6 @@ static void test_setup(void)
>
> static void test_cleanup(void)
> {
> - SAFE_CLOSE(devnull_fd);
> SAFE_CLOSE(socket_fd);
> SAFE_CLOSE(udp_fd);
> }
Is this supposed to be part of the patchset?
I don't mind, but if we are strict, it should be in another commit.
> diff --git a/testcases/kernel/syscalls/accept/accept03.c b/testcases/kernel/syscalls/accept/accept03.c
> new file mode 100644
> index 000000000..084bedaf4
> --- /dev/null
> +++ b/testcases/kernel/syscalls/accept/accept03.c
> @@ -0,0 +1,47 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +/*
> + * Copyright (C) 2023 Cyril Hrubis <chrubis@suse.cz>
> + */
> +
> +/*\
> + * [Description]
> + *
> + * Verify that accept() returns ENOTSOCK for non-socket file descriptors.
> + */
> +
> +#include <sys/socket.h>
> +#include <netinet/in.h>
> +
> +#include "tst_test.h"
> +
> +void check_accept(struct tst_fd *fd)
> +{
> + struct sockaddr_in addr = {
> + .sin_family = AF_INET,
> + .sin_port = 0,
> + .sin_addr = {.s_addr = INADDR_ANY},
> + };
> + socklen_t size = sizeof(addr);
> +
> + switch (fd->type) {
> + case TST_FD_UNIX_SOCK:
> + case TST_FD_INET_SOCK:
> + return;
> + default:
> + break;
> + }
> +
> + TST_EXP_FAIL2(accept(fd->fd, (void*)&addr, &size),
> + ENOTSOCK, "accept() on %s", tst_fd_desc(fd));
> +}
> +
> +static void verify_accept(void)
> +{
> + TST_FD_FOREACH(fd)
> + check_accept(&fd);
> +}
> +
> +static struct tst_test test = {
> + .test_all = verify_accept,
> +};
> --
> 2.41.0
Reviewed-by: Richard Palethorpe <rpalethorpe@suse.com>
--
Thank you,
Richard.
--
Mailing list info: https://lists.linux.it/listinfo/ltp
WARNING: multiple messages have this Message-ID (diff)
From: Richard Palethorpe <rpalethorpe@suse.de>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: mszeredi@redhat.com, brauner@kernel.org, Jan Kara <jack@suse.cz>,
Matthew Wilcox <willy@infradead.org>,
viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
ltp@lists.linux.it
Subject: Re: [LTP] [PATCH v2 3/4] syscalls: accept: Add tst_fd test
Date: Tue, 24 Oct 2023 10:26:19 +0100 [thread overview]
Message-ID: <87fs20v07j.fsf@suse.de> (raw)
In-Reply-To: <20231016123320.9865-4-chrubis@suse.cz>
Hello,
Cyril Hrubis <chrubis@suse.cz> writes:
> It looks like we return wrong errno on O_PATH file and open_tree() file descriptors.
>
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
> runtest/syscalls | 1 +
> testcases/kernel/syscalls/accept/.gitignore | 1 +
> testcases/kernel/syscalls/accept/accept01.c | 8 ----
> testcases/kernel/syscalls/accept/accept03.c | 47 +++++++++++++++++++++
> 4 files changed, 49 insertions(+), 8 deletions(-)
> create mode 100644 testcases/kernel/syscalls/accept/accept03.c
>
> diff --git a/runtest/syscalls b/runtest/syscalls
> index 53e519639..55396aad8 100644
> --- a/runtest/syscalls
> +++ b/runtest/syscalls
> @@ -3,6 +3,7 @@ abort01 abort01
>
> accept01 accept01
> accept02 accept02
> +accept03 accept03
>
> accept4_01 accept4_01
>
> diff --git a/testcases/kernel/syscalls/accept/.gitignore b/testcases/kernel/syscalls/accept/.gitignore
> index 5b1462699..f81d4bec9 100644
> --- a/testcases/kernel/syscalls/accept/.gitignore
> +++ b/testcases/kernel/syscalls/accept/.gitignore
> @@ -1,2 +1,3 @@
> /accept01
> /accept02
> +/accept03
> diff --git a/testcases/kernel/syscalls/accept/accept01.c b/testcases/kernel/syscalls/accept/accept01.c
> index 85af0f8af..e5db1dfec 100644
> --- a/testcases/kernel/syscalls/accept/accept01.c
> +++ b/testcases/kernel/syscalls/accept/accept01.c
> @@ -26,7 +26,6 @@
> struct sockaddr_in sin0, sin1, fsin1;
>
> int invalid_socketfd = 400; /* anything that is not an open file */
> -int devnull_fd;
> int socket_fd;
> int udp_fd;
>
> @@ -45,10 +44,6 @@ static struct test_case {
> (struct sockaddr *)&fsin1, sizeof(fsin1), EBADF,
> "bad file descriptor"
> },
> - {
> - PF_INET, SOCK_STREAM, 0, &devnull_fd, (struct sockaddr *)&fsin1,
> - sizeof(fsin1), ENOTSOCK, "fd is not socket"
> - },
> {
> PF_INET, SOCK_STREAM, 0, &socket_fd, (struct sockaddr *)3,
> sizeof(fsin1), EINVAL, "invalid socket buffer"
> @@ -73,8 +68,6 @@ static void test_setup(void)
> sin0.sin_port = 0;
> sin0.sin_addr.s_addr = INADDR_ANY;
>
> - devnull_fd = SAFE_OPEN("/dev/null", O_WRONLY);
> -
> socket_fd = SAFE_SOCKET(PF_INET, SOCK_STREAM, 0);
> SAFE_BIND(socket_fd, (struct sockaddr *)&sin0, sizeof(sin0));
>
> @@ -88,7 +81,6 @@ static void test_setup(void)
>
> static void test_cleanup(void)
> {
> - SAFE_CLOSE(devnull_fd);
> SAFE_CLOSE(socket_fd);
> SAFE_CLOSE(udp_fd);
> }
Is this supposed to be part of the patchset?
I don't mind, but if we are strict, it should be in another commit.
> diff --git a/testcases/kernel/syscalls/accept/accept03.c b/testcases/kernel/syscalls/accept/accept03.c
> new file mode 100644
> index 000000000..084bedaf4
> --- /dev/null
> +++ b/testcases/kernel/syscalls/accept/accept03.c
> @@ -0,0 +1,47 @@
> +// SPDX-License-Identifier: GPL-2.0-or-later
> +
> +/*
> + * Copyright (C) 2023 Cyril Hrubis <chrubis@suse.cz>
> + */
> +
> +/*\
> + * [Description]
> + *
> + * Verify that accept() returns ENOTSOCK for non-socket file descriptors.
> + */
> +
> +#include <sys/socket.h>
> +#include <netinet/in.h>
> +
> +#include "tst_test.h"
> +
> +void check_accept(struct tst_fd *fd)
> +{
> + struct sockaddr_in addr = {
> + .sin_family = AF_INET,
> + .sin_port = 0,
> + .sin_addr = {.s_addr = INADDR_ANY},
> + };
> + socklen_t size = sizeof(addr);
> +
> + switch (fd->type) {
> + case TST_FD_UNIX_SOCK:
> + case TST_FD_INET_SOCK:
> + return;
> + default:
> + break;
> + }
> +
> + TST_EXP_FAIL2(accept(fd->fd, (void*)&addr, &size),
> + ENOTSOCK, "accept() on %s", tst_fd_desc(fd));
> +}
> +
> +static void verify_accept(void)
> +{
> + TST_FD_FOREACH(fd)
> + check_accept(&fd);
> +}
> +
> +static struct tst_test test = {
> + .test_all = verify_accept,
> +};
> --
> 2.41.0
Reviewed-by: Richard Palethorpe <rpalethorpe@suse.com>
--
Thank you,
Richard.
next prev parent reply other threads:[~2023-10-24 9:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-16 12:33 [LTP] [PATCH v2 0/4] Add tst_fd iterator API Cyril Hrubis
2023-10-16 12:33 ` Cyril Hrubis
2023-10-16 12:33 ` [LTP] [PATCH v2 1/4] lib: Add tst_fd iterator Cyril Hrubis
2023-10-16 12:33 ` Cyril Hrubis
2023-10-24 9:39 ` [LTP] " Richard Palethorpe
2023-10-24 9:39 ` Richard Palethorpe
2024-01-05 0:42 ` Petr Vorel
2024-01-05 0:42 ` Petr Vorel
2024-01-15 12:19 ` Cyril Hrubis
2024-01-15 12:19 ` Cyril Hrubis
2024-01-15 22:52 ` Petr Vorel
2024-01-15 22:52 ` Petr Vorel
2023-10-16 12:33 ` [LTP] [PATCH v2 2/4] syscalls: readahead01: Make use of tst_fd Cyril Hrubis
2023-10-16 12:33 ` Cyril Hrubis
2023-10-24 9:31 ` [LTP] " Richard Palethorpe
2023-10-24 9:31 ` Richard Palethorpe
2023-10-16 12:33 ` [LTP] [PATCH v2 3/4] syscalls: accept: Add tst_fd test Cyril Hrubis
2023-10-16 12:33 ` Cyril Hrubis
2023-10-24 9:26 ` Richard Palethorpe [this message]
2023-10-24 9:26 ` [LTP] " Richard Palethorpe
2023-10-24 9:34 ` Cyril Hrubis
2023-10-24 9:34 ` Cyril Hrubis
2023-10-16 12:33 ` [LTP] [PATCH v2 4/4] syscalls: splice07: New splice tst_fd iterator test Cyril Hrubis
2023-10-16 12:33 ` Cyril Hrubis
2023-10-23 15:59 ` [LTP] " Richard Palethorpe
2023-10-23 15:59 ` Richard Palethorpe
2023-10-24 7:56 ` Cyril Hrubis
2023-10-24 7:56 ` Cyril Hrubis
2023-10-24 9:33 ` Jan Kara
2023-10-24 9:33 ` Jan Kara
2024-01-04 23:11 ` Petr Vorel
2024-01-04 23:11 ` Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fs20v07j.fsf@suse.de \
--to=rpalethorpe@suse.de \
--cc=brauner@kernel.org \
--cc=chrubis@suse.cz \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=ltp@lists.linux.it \
--cc=mszeredi@redhat.com \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.