[PATCH 3/3] tst_fd.c: replace syscall() with tst_syscall_base()
Gang Yan <[email protected]>
| Newsgroups | gmane.linux.ltp |
|---|---|
| Message-ID | <[email protected]> |
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