Re: [PATCH 3/3] tst_fd.c: replace syscall() with tst_syscall_base()

[email protected]
Newsgroups gmane.linux.ltp
Message-ID <[email protected]>
July 14, 2026 at 6:07 PM, "Gang Yan" <[email protected] mailto:[email protected]?to=%22Gang%20Yan%22%20%3Cgang.yan%40linux.dev%3E > wrote:

Hi,

Sorry for this broken message, please ignore it.
I've resent the patch series.

Thanks,
Gang


> 
> From: Gang Yan <yangang-UOlijcLmZ/[email protected]>
> 
> If some feature is not supported by some arch, like _NR__memfd_secret,
> it will become -1. And the syscall can continue with '-1' and the output
> would be:
> 
> '''
> accept03.c:47: TFAIL: accept() on memfd secret expected ENOTSOCK: EBADF (9)
> tst_fd.c:307: TBROK: close(38) failed: EBADF(9)
> '''
> 
> This patch use tst_syscall to give a more specific fail reason:
> 
> '''
> tst_fd.c:262: TCONF: Skipping memfd secret: ENOSYS(38)
> '''
> 
> Signed-off-by: Gang Yan <yangang-UOlijcLmZ/[email protected]>
> ---
>  lib/tst_fd.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/lib/tst_fd.c b/lib/tst_fd.c
> index 6538a098c..1d90505b2 100644
> --- a/lib/tst_fd.c
> +++ b/lib/tst_fd.c
> @@ -139,14 +139,14 @@ static void open_timerfd(struct tst_fd *fd)
>  
>  static void open_pidfd(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_pidfd_open, getpid(), 0);
> + fd->fd = tst_syscall_base(__NR_pidfd_open, getpid(), 0);
>  if (fd->fd < 0)
>  tst_res(TCONF | TERRNO, "pidfd_open()");
>  }
>  
>  static void open_fanotify(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_fanotify_init, FAN_CLASS_NOTIF, O_RDONLY);
> + fd->fd = tst_syscall_base(__NR_fanotify_init, FAN_CLASS_NOTIF, O_RDONLY);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -164,7 +164,7 @@ static void open_inotify(struct tst_fd *fd)
>  
>  static void open_userfaultfd(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_userfaultfd, 0);
> + fd->fd = tst_syscall_base(__NR_userfaultfd, 0);
>  
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
> @@ -183,7 +183,7 @@ static void open_perf_event(struct tst_fd *fd)
>  .exclude_hv = 1,
>  };
>  
> - fd->fd = syscall(__NR_perf_event_open, &pe_attr, 0, -1, -1, 0);
> + fd->fd = tst_syscall_base(__NR_perf_event_open, &pe_attr, 0, -1, -1, 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -194,7 +194,7 @@ static void open_io_uring(struct tst_fd *fd)
>  {
>  struct io_uring_params uring_params = {};
>  
> - fd->fd = syscall(__NR_io_uring_setup, 1, &uring_params);
> + fd->fd = tst_syscall_base(__NR_io_uring_setup, 1, &uring_params);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -210,7 +210,7 @@ static void open_bpf_map(struct tst_fd *fd)
>  .max_entries = 1,
>  };
>  
> - fd->fd = syscall(__NR_bpf, BPF_MAP_CREATE, &array_attr, sizeof(array_attr));
> + fd->fd = tst_syscall_base(__NR_bpf, BPF_MAP_CREATE, &array_attr, sizeof(array_attr));
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -219,7 +219,7 @@ static void open_bpf_map(struct tst_fd *fd)
>  
>  static void open_fsopen(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_fsopen, "ext2", 0);
> + fd->fd = tst_syscall_base(__NR_fsopen, "ext2", 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -228,7 +228,7 @@ static void open_fsopen(struct tst_fd *fd)
>  
>  static void open_fspick(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_fspick, AT_FDCWD, "/", 0);
> + fd->fd = tst_syscall_base(__NR_fspick, AT_FDCWD, "/", 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -237,7 +237,7 @@ static void open_fspick(struct tst_fd *fd)
>  
>  static void open_open_tree(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_open_tree, AT_FDCWD, "/", 0);
> + fd->fd = tst_syscall_base(__NR_open_tree, AT_FDCWD, "/", 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -246,7 +246,7 @@ static void open_open_tree(struct tst_fd *fd)
>  
>  static void open_memfd(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_memfd_create, "ltp_memfd", 0);
> + fd->fd = tst_syscall_base(__NR_memfd_create, "ltp_memfd", 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> @@ -255,7 +255,7 @@ static void open_memfd(struct tst_fd *fd)
>  
>  static void open_memfd_secret(struct tst_fd *fd)
>  {
> - fd->fd = syscall(__NR_memfd_secret, 0);
> + fd->fd = tst_syscall_base(__NR_memfd_secret, 0);
>  if (fd->fd < 0) {
>  tst_res(TCONF | TERRNO,
>  "Skipping %s", tst_fd_desc(fd));
> -- 
> 2.43.0
> 
> -- 
> Mailing list info: https://lists.linux.it/listinfo/ltp
>

-- 
Mailing list info: https://lists.linux.it/listinfo/ltp
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.