aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2022-01-18 19:24:03 +0100
committerDmitry Vyukov <dvyukov@google.com>2022-01-19 09:10:34 +0100
commite333a0e2fc94aa27a735e62e713402c21eb2c0ef (patch)
tree1f6ff2d3e25c77c88b0d95bc1809850d0f984aea /sys/linux
parent0a4cf54d89683dff77317524c754bb668fd16f63 (diff)
sys/linux: describe sigaltstack
It seems we had a bogus signature for sigaltstack for all that time. It accepts 2 sigaltstack structs according to the kernel code: https://elixir.bootlin.com/linux/v5.16/source/kernel/signal.c#L4217
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/sys.txt10
-rw-r--r--sys/linux/sys.txt.const4
2 files changed, 12 insertions, 2 deletions
diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt
index 2ccb38ab1..a8743922e 100644
--- a/sys/linux/sys.txt
+++ b/sys/linux/sys.txt
@@ -464,7 +464,7 @@ rt_sigtimedwait(these ptr[in, sigset_t], info ptr[out, siginfo, opt], ts ptr[in,
rt_sigsuspend(new ptr[in, sigset_t], sigsetsize len[new])
rt_sigqueueinfo(pid pid, sig signalno, info ptr[in, siginfo])
rt_tgsigqueueinfo(gid pid, tid pid, sig signalno, info ptr[in, siginfo])
-sigaltstack(ss vma, oss ptr[out, intptr, opt])
+sigaltstack(ss ptr[in, sigaltstack], oss ptr[out, sigaltstack, opt])
tgkill(gid pid, tid pid, sig signalno)
tkill(tid pid, sig signalno)
pause()
@@ -1095,6 +1095,14 @@ sigaction {
sa_mask sigset_t
}
+sigaltstack {
+ ss_sp ptr[out, array[int8]]
+ ss_flags flags[sigaltstack_flags, int32]
+ ss_size bytesize[ss_sp, intptr]
+}
+
+sigaltstack_flags = SS_ONSTACK, SS_DISABLE, SS_AUTODISARM
+
tms {
utime intptr
stime intptr
diff --git a/sys/linux/sys.txt.const b/sys/linux/sys.txt.const
index ac952adf5..4fa2a7507 100644
--- a/sys/linux/sys.txt.const
+++ b/sys/linux/sys.txt.const
@@ -506,6 +506,9 @@ SPLICE_F_GIFT = 8
SPLICE_F_MORE = 4
SPLICE_F_MOVE = 1
SPLICE_F_NONBLOCK = 2
+SS_AUTODISARM = 2147483648
+SS_DISABLE = 2
+SS_ONSTACK = 1
STAT64_SIZE = 104, 386:96, amd64:mips64le:riscv64:s390x:???
STATX_ATIME = 32
STATX_BASIC_STATS = 2047
@@ -630,7 +633,6 @@ __NR_fcntl = 55, amd64:72, arm64:riscv64:25, mips64le:5070
__NR_fdatasync = 148, amd64:75, arm64:riscv64:83, mips64le:5073
__NR_finit_module = 273, 386:350, amd64:313, arm:379, mips64le:5307, ppc64le:353, s390x:344
__NR_flock = 143, amd64:73, arm64:riscv64:32, mips64le:5071
-__NR_fork = 2, amd64:57, arm64:riscv64:???, mips64le:5056
__NR_fstat = 108, amd64:5, arm64:riscv64:80, mips64le:5005
__NR_fstat64 = 197, amd64:arm64:mips64le:ppc64le:riscv64:s390x:???
__NR_fstatat64 = 386:300, amd64:arm64:mips64le:ppc64le:riscv64:s390x:???, arm:327