diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2021-10-21 10:01:42 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-10-21 15:05:10 +0200 |
| commit | cb750656d058a944d71e9fa3559c99fa5cb02772 (patch) | |
| tree | a64f54a475229f5b046befb5b0cec14098062c6a | |
| parent | 15532b85931582f968ac7fc49e0cabd35e93baf3 (diff) | |
sys/linux: add descriptions of epoll_pwait2 syscall
See: https://elixir.bootlin.com/linux/v5.15-rc6/source/fs/eventpoll.c#L2279
| -rw-r--r-- | prog/decl_test.go | 7 | ||||
| -rw-r--r-- | sys/linux/sys.txt | 3 | ||||
| -rw-r--r-- | sys/linux/sys.txt.const | 1 |
3 files changed, 7 insertions, 4 deletions
diff --git a/prog/decl_test.go b/prog/decl_test.go index b7d25623c..6cec10e27 100644 --- a/prog/decl_test.go +++ b/prog/decl_test.go @@ -73,18 +73,19 @@ func TestTransitivelyEnabledCallsLinux(t *testing.T) { } delete(calls, target.SyscallMap["epoll_create1"]) trans, disabled := target.TransitivelyEnabledCalls(calls) - if len(calls)-7 != len(trans) || + if len(calls)-8 != len(trans) || trans[target.SyscallMap["epoll_ctl$EPOLL_CTL_ADD"]] || trans[target.SyscallMap["epoll_ctl$EPOLL_CTL_MOD"]] || trans[target.SyscallMap["epoll_ctl$EPOLL_CTL_DEL"]] || trans[target.SyscallMap["epoll_wait"]] || trans[target.SyscallMap["epoll_pwait"]] || + trans[target.SyscallMap["epoll_pwait2"]] || trans[target.SyscallMap["kcmp$KCMP_EPOLL_TFD"]] || trans[target.SyscallMap["syz_io_uring_submit$IORING_OP_EPOLL_CTL"]] { t.Fatalf("epoll fd is not disabled") } - if len(disabled) != 7 { - t.Fatalf("disabled %v syscalls, want 7", len(disabled)) + if len(disabled) != 8 { + t.Fatalf("disabled %v syscalls, want 8", len(disabled)) } for c, reason := range disabled { if !strings.Contains(reason, "no syscalls can create resource fd_epoll,"+ diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt index 6220e3cd9..2710f71c6 100644 --- a/sys/linux/sys.txt +++ b/sys/linux/sys.txt @@ -141,7 +141,8 @@ epoll_ctl$EPOLL_CTL_ADD(epfd fd_epoll, op const[EPOLL_CTL_ADD], fd fd, ev ptr[in epoll_ctl$EPOLL_CTL_MOD(epfd fd_epoll, op const[EPOLL_CTL_MOD], fd fd, ev ptr[in, epoll_event]) epoll_ctl$EPOLL_CTL_DEL(epfd fd_epoll, op const[EPOLL_CTL_DEL], fd fd) epoll_wait(epfd fd_epoll, events ptr[out, array[epoll_event]], maxevents len[events], timeout int32) -epoll_pwait(epfd fd_epoll, events ptr[out, array[epoll_event]], maxevents len[events], timeout int32, sigmask ptr[in, sigset_t], size len[sigmask]) +epoll_pwait(epfd fd_epoll, events ptr[out, array[epoll_event]], maxevents len[events], timeout int32, sigmask ptr[in, sigset_t], size bytesize[sigmask]) +epoll_pwait2(epfd fd_epoll, events ptr[out, array[epoll_event]], maxevents len[events], timeout ptr[in, timespec], sigmask ptr[in, sigset_t], size bytesize[sigmask]) resource fd_timer[fd] signalfd(fd fd, mask ptr[in, sigset_t], size len[mask]) fd diff --git a/sys/linux/sys.txt.const b/sys/linux/sys.txt.const index 8d2d3e6c3..4826b4ea6 100644 --- a/sys/linux/sys.txt.const +++ b/sys/linux/sys.txt.const @@ -611,6 +611,7 @@ __NR_epoll_create = 386:254, amd64:213, arm:250, arm64:riscv64:???, mips64le:520 __NR_epoll_create1 = 20, 386:329, amd64:291, arm:357, mips64le:5285, ppc64le:315, s390x:327 __NR_epoll_ctl = 21, 386:255, amd64:233, arm:251, mips64le:5208, ppc64le:237, s390x:250 __NR_epoll_pwait = 22, 386:319, amd64:281, arm:346, mips64le:5272, ppc64le:303, s390x:312 +__NR_epoll_pwait2 = 441, mips64le:5441 __NR_epoll_wait = 386:256, amd64:232, arm:252, arm64:riscv64:???, mips64le:5209, ppc64le:238, s390x:251 __NR_eventfd = 386:323, amd64:284, arm:351, arm64:riscv64:???, mips64le:5278, ppc64le:307, s390x:318 __NR_eventfd2 = 19, 386:328, amd64:290, arm:356, mips64le:5284, ppc64le:314, s390x:323 |
