* [musl] [PATCH 00/17] updates for linux v5.11, v5.12, v5.13
@ 2021-07-10 19:13 Szabolcs Nagy
0 siblings, 0 replies; only message in thread
From: Szabolcs Nagy @ 2021-07-10 19:13 UTC (permalink / raw)
To: musl
[-- Attachment #1: Type: text/plain, Size: 2288 bytes --]
includes v5.11 patches:
https://www.openwall.com/lists/musl/2021/03/17/1
and v5.12 and v5.13 patches.
Szabolcs Nagy (17):
bits/syscall.h: add epoll_pwait2 from linux v5.11
sys/prctl.h: add PR_SET_SYSCALL_USER_DISPATCH from linux v5.11
sys/socket.h: add new SO_ socket options from linux v5.11
netinet/if_ether.h: add ETH_P_CFM from linux v5.11
netinet/tcp.h: add tcp zerocopy related changes from linux v5.11
signal.h: add si_code values for SIGSYS
signal.h: add SYS_USER_DISPATCH si_code value from linux v5.11
signal.h: add new sa_flags from linux v5.11
bits/syscall.h: add mount_setattr from linux v5.12
s390x: add ptrace requests from linux v5.12
netinet/tcp.h: add TCP_NLA_* values up to linux v5.12
netinet/tcp.h: add tcp_zerocopy_receive fields from linux v5.12
bits/syscall.h: add landlock syscalls from linux v5.13
netinet/in.h: add INADDR_DUMMY from linux v5.13
elf.h: add NT_ARM_PAC_ENABLED_KEYS from linux v5.13
sys/prctl.h: add PR_PAC_{SET,GET}_ENABLED_KEYS from linux v5.13
sys/ptrace.h: add PTRACE_GET_RSEQ_CONFIGURATION from linux v5.13
arch/aarch64/bits/syscall.h.in | 5 +++++
arch/arm/bits/syscall.h.in | 5 +++++
arch/i386/bits/syscall.h.in | 5 +++++
arch/m68k/bits/syscall.h.in | 5 +++++
arch/microblaze/bits/syscall.h.in | 5 +++++
arch/mips/bits/syscall.h.in | 5 +++++
arch/mips64/bits/syscall.h.in | 5 +++++
arch/mipsn32/bits/syscall.h.in | 5 +++++
arch/or1k/bits/syscall.h.in | 5 +++++
arch/powerpc/bits/syscall.h.in | 5 +++++
arch/powerpc64/bits/syscall.h.in | 5 +++++
arch/riscv64/bits/syscall.h.in | 5 +++++
arch/s390x/bits/ptrace.h | 3 +++
arch/s390x/bits/syscall.h.in | 5 +++++
arch/sh/bits/syscall.h.in | 5 +++++
arch/x32/bits/syscall.h.in | 5 +++++
arch/x86_64/bits/syscall.h.in | 5 +++++
include/elf.h | 1 +
include/netinet/if_ether.h | 1 +
include/netinet/in.h | 1 +
include/netinet/tcp.h | 11 +++++++++++
include/signal.h | 6 ++++++
include/sys/prctl.h | 9 +++++++++
include/sys/ptrace.h | 9 +++++++++
include/sys/socket.h | 2 ++
25 files changed, 123 insertions(+)
--
2.31.1
[-- Attachment #2: 0001-bits-syscall.h-add-epoll_pwait2-from-linux-v5.11.patch --]
[-- Type: text/x-diff, Size: 6676 bytes --]
From 38df364ac0bb1090beaad8898f3bb7ab8644a11b Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 19:21:34 +0000
Subject: [PATCH 01/17] bits/syscall.h: add epoll_pwait2 from linux v5.11
see
linux commit b0a0c2615f6f199a656ed8549d7dce625d77aa77
epoll: wire up syscall epoll_pwait2
linux commit 58169a52ebc9a733aeb5bea857bc5daa71a301bb
epoll: add syscall epoll_pwait2
epoll_wait with struct timespec timeout instead of int. no time32 variant.
---
arch/aarch64/bits/syscall.h.in | 1 +
arch/arm/bits/syscall.h.in | 1 +
arch/i386/bits/syscall.h.in | 1 +
arch/m68k/bits/syscall.h.in | 1 +
arch/microblaze/bits/syscall.h.in | 1 +
arch/mips/bits/syscall.h.in | 1 +
arch/mips64/bits/syscall.h.in | 1 +
arch/mipsn32/bits/syscall.h.in | 1 +
arch/or1k/bits/syscall.h.in | 1 +
arch/powerpc/bits/syscall.h.in | 1 +
arch/powerpc64/bits/syscall.h.in | 1 +
arch/riscv64/bits/syscall.h.in | 1 +
arch/s390x/bits/syscall.h.in | 1 +
arch/sh/bits/syscall.h.in | 1 +
arch/x32/bits/syscall.h.in | 1 +
arch/x86_64/bits/syscall.h.in | 1 +
16 files changed, 16 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index 1ad467c0..e955da4d 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -294,4 +294,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index cf9e3411..2a55d4db 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -394,6 +394,7 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index 5d1c4d7a..f900db2e 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -431,4 +431,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index 6794b1a0..e064b445 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -411,3 +411,4 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 7f71df3b..86fe8271 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -432,4 +432,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index d54845b2..83c9655d 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -413,4 +413,5 @@
#define __NR_pidfd_getfd 4438
#define __NR_faccessat2 4439
#define __NR_process_madvise 4440
+#define __NR_epoll_pwait2 4441
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index 920b4358..1be9f3e1 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -343,4 +343,5 @@
#define __NR_pidfd_getfd 5438
#define __NR_faccessat2 5439
#define __NR_process_madvise 5440
+#define __NR_epoll_pwait2 5441
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index e6dad688..1bd7aeb2 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -367,4 +367,5 @@
#define __NR_pidfd_getfd 6438
#define __NR_faccessat2 6439
#define __NR_process_madvise 6440
+#define __NR_epoll_pwait2 6441
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 463ee901..499aa832 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -316,4 +316,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index db4d0ca4..7f7d5a11 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -420,4 +420,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index a128890b..b5793172 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -392,4 +392,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
index 39c0d650..df6bf5c2 100644
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -294,6 +294,7 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
#define __NR_sysriscv __NR_arch_specific_syscall
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 9c8d984e..16ec02ee 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -357,4 +357,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index 17dd7e07..4fc1f9e8 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -404,4 +404,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 5361442e..14c7231f 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -303,6 +303,7 @@
#define __NR_pidfd_getfd (0x40000000 + 438)
#define __NR_faccessat2 (0x40000000 + 439)
#define __NR_process_madvise (0x40000000 + 440)
+#define __NR_epoll_pwait2 (0x40000000 + 441)
#define __NR_rt_sigaction (0x40000000 + 512)
diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
index e943883d..f611884e 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -350,4 +350,5 @@
#define __NR_pidfd_getfd 438
#define __NR_faccessat2 439
#define __NR_process_madvise 440
+#define __NR_epoll_pwait2 441
--
2.31.1
[-- Attachment #3: 0002-sys-prctl.h-add-PR_SET_SYSCALL_USER_DISPATCH-from-li.patch --]
[-- Type: text/x-diff, Size: 1193 bytes --]
From 8622064afadb81ace04dcb1f8597b37e86f23084 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 20:50:17 +0000
Subject: [PATCH 02/17] sys/prctl.h: add PR_SET_SYSCALL_USER_DISPATCH from
linux v5.11
see
linux commit 1446e1df9eb183fdf81c3f0715402f1d7595d4cb
kernel: Implement selective syscall userspace redirection
linux commit 36a6c843fd0d8e02506681577e96dabd203dd8e8
entry: Use different define for selector variable in SUD
redirect syscalls to a userspace handler via SIGSYS, except for a specific
range of code. can be toggled via a memory write to a selector variable.
mainly for wine.
---
include/sys/prctl.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/sys/prctl.h b/include/sys/prctl.h
index 4ba73f42..3f0254c7 100644
--- a/include/sys/prctl.h
+++ b/include/sys/prctl.h
@@ -168,6 +168,12 @@ struct prctl_mm_map {
#define PR_SET_IO_FLUSHER 57
#define PR_GET_IO_FLUSHER 58
+#define PR_SET_SYSCALL_USER_DISPATCH 59
+#define PR_SYS_DISPATCH_OFF 0
+#define PR_SYS_DISPATCH_ON 1
+#define SYSCALL_DISPATCH_FILTER_ALLOW 0
+#define SYSCALL_DISPATCH_FILTER_BLOCK 1
+
int prctl (int, ...);
#ifdef __cplusplus
--
2.31.1
[-- Attachment #4: 0003-sys-socket.h-add-new-SO_-socket-options-from-linux-v.patch --]
[-- Type: text/x-diff, Size: 925 bytes --]
From b574293cad72cf0f3a6ce2c22e9bc5dcbbff52c2 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 21:19:36 +0000
Subject: [PATCH 03/17] sys/socket.h: add new SO_ socket options from linux
v5.11
see
linux commit 7fd3253a7de6a317a0683f83739479fb880bffc8
net: Introduce preferred busy-polling
linux commit 7c951cafc0cb2e575f1d58677b95ac387ac0a5bd
net: Add SO_BUSY_POLL_BUDGET socket option
---
include/sys/socket.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/sys/socket.h b/include/sys/socket.h
index 38f5bb17..6dc1e40a 100644
--- a/include/sys/socket.h
+++ b/include/sys/socket.h
@@ -289,6 +289,8 @@ struct linger {
#define SCM_TXTIME SO_TXTIME
#define SO_BINDTOIFINDEX 62
#define SO_DETACH_REUSEPORT_BPF 68
+#define SO_PREFER_BUSY_POLL 69
+#define SO_BUSY_POLL_BUDGET 70
#ifndef SOL_SOCKET
#define SOL_SOCKET 1
--
2.31.1
[-- Attachment #5: 0004-netinet-if_ether.h-add-ETH_P_CFM-from-linux-v5.11.patch --]
[-- Type: text/x-diff, Size: 798 bytes --]
From e41355350250590388fee716a9556a7f40667b34 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 21:33:25 +0000
Subject: [PATCH 04/17] netinet/if_ether.h: add ETH_P_CFM from linux v5.11
see
linux commit fbaedb4129838252570410c65abb2036b5505cbd
bridge: uapi: cfm: Added EtherType used by the CFM protocol.
---
include/netinet/if_ether.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/netinet/if_ether.h b/include/netinet/if_ether.h
index 55a2ff1b..3479f511 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -66,6 +66,7 @@
#define ETH_P_1588 0x88F7
#define ETH_P_NCSI 0x88F8
#define ETH_P_PRP 0x88FB
+#define ETH_P_CFM 0x8902
#define ETH_P_FCOE 0x8906
#define ETH_P_TDLS 0x890D
#define ETH_P_FIP 0x8914
--
2.31.1
[-- Attachment #6: 0005-netinet-tcp.h-add-tcp-zerocopy-related-changes-from-.patch --]
[-- Type: text/x-diff, Size: 1046 bytes --]
From 97c7cf5e63acc32ee11010fdf31ae5bb35abe661 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 21:39:24 +0000
Subject: [PATCH 05/17] netinet/tcp.h: add tcp zerocopy related changes from
linux v5.11
see
linux commit 18fb76ed53865c1b5d5f0157b1b825704590beb5
net-zerocopy: Copy straggler unaligned data for TCP Rx. zerocopy.
linux commit 94ab9eb9b234ddf23af04a4bc7e8db68e67b8778
net-zerocopy: Defer vm zap unless actually needed.
---
include/netinet/tcp.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index b7b997f5..30f20239 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -281,12 +281,17 @@ struct tcp_repair_window {
uint32_t rcv_wup;
};
+#define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1
+
struct tcp_zerocopy_receive {
uint64_t address;
uint32_t length;
uint32_t recv_skip_hint;
uint32_t inq;
int32_t err;
+ uint64_t copybuf_address;
+ int32_t copybuf_len;
+ uint32_t flags;
};
#endif
--
2.31.1
[-- Attachment #7: 0006-signal.h-add-si_code-values-for-SIGSYS.patch --]
[-- Type: text/x-diff, Size: 791 bytes --]
From 5432f5fa3e5cccb5a5af320c4a6e8fc74de88c3b Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 22:15:11 +0000
Subject: [PATCH 06/17] signal.h: add si_code values for SIGSYS
unlike other si_code defines, SYS_ is not in the posix reserved namespace
which is likely the reason why SYS_SECCOMP was previously missing (was new
in linux v3.5).
---
include/signal.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/signal.h b/include/signal.h
index f270a594..4dd46142 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -261,6 +261,8 @@ void (*sigset(int, void (*)(int)))(int);
#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
#define NSIG _NSIG
typedef void (*sig_t)(int);
+
+#define SYS_SECCOMP 1
#endif
#ifdef _GNU_SOURCE
--
2.31.1
[-- Attachment #8: 0007-signal.h-add-SYS_USER_DISPATCH-si_code-value-from-li.patch --]
[-- Type: text/x-diff, Size: 716 bytes --]
From 85879e0d74ec97819213683f93a27b81a7c9a229 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 7 Mar 2021 22:20:54 +0000
Subject: [PATCH 07/17] signal.h: add SYS_USER_DISPATCH si_code value from
linux v5.11
see
linux commit 1d7637d89cfce54a4f4a41c2325288c2f47470e8
signal: Expose SYS_USER_DISPATCH si_code type
---
include/signal.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/signal.h b/include/signal.h
index 4dd46142..af940ccb 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -263,6 +263,7 @@ void (*sigset(int, void (*)(int)))(int);
typedef void (*sig_t)(int);
#define SYS_SECCOMP 1
+#define SYS_USER_DISPATCH 2
#endif
#ifdef _GNU_SOURCE
--
2.31.1
[-- Attachment #9: 0008-signal.h-add-new-sa_flags-from-linux-v5.11.patch --]
[-- Type: text/x-diff, Size: 1035 bytes --]
From 38af581855914e7a9f0f6ef3651115d6b05e0244 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 17 Mar 2021 19:19:27 +0000
Subject: [PATCH 08/17] signal.h: add new sa_flags from linux v5.11
see
linux commit a54f0dfda754c5cecc89a14dab68a3edc1e497b5
signal: define the SA_UNSUPPORTED bit in sa_flags
linux commit 6ac05e832a9e96f9b1c42a8917cdd317d7b6c8fa
signal: define the SA_EXPOSE_TAGBITS bit in sa_flags
Note: SA_ is in the posix reserved namespace so these linux specific flags
can be exposed when compiling for posix.
---
include/signal.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/signal.h b/include/signal.h
index af940ccb..c347f861 100644
--- a/include/signal.h
+++ b/include/signal.h
@@ -178,6 +178,9 @@ struct sigaction {
#define sa_handler __sa_handler.sa_handler
#define sa_sigaction __sa_handler.sa_sigaction
+#define SA_UNSUPPORTED 0x00000400
+#define SA_EXPOSE_TAGBITS 0x00000800
+
struct sigevent {
union sigval sigev_value;
int sigev_signo;
--
2.31.1
[-- Attachment #10: 0009-bits-syscall.h-add-mount_setattr-from-linux-v5.12.patch --]
[-- Type: text/x-diff, Size: 6655 bytes --]
From 3852e3c85714de0df36668ca2aa8328e8e924302 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Tue, 25 May 2021 20:53:18 +0000
Subject: [PATCH 09/17] bits/syscall.h: add mount_setattr from linux v5.12
new syscall to change the properties of a mount or a mount tree using
file descriptors which the new mount api is based on, see
linux commit 2a1867219c7b27f928e2545782b86daaf9ad50bd
fs: add mount_setattr()
---
arch/aarch64/bits/syscall.h.in | 1 +
arch/arm/bits/syscall.h.in | 1 +
arch/i386/bits/syscall.h.in | 1 +
arch/m68k/bits/syscall.h.in | 1 +
arch/microblaze/bits/syscall.h.in | 1 +
arch/mips/bits/syscall.h.in | 1 +
arch/mips64/bits/syscall.h.in | 1 +
arch/mipsn32/bits/syscall.h.in | 1 +
arch/or1k/bits/syscall.h.in | 1 +
arch/powerpc/bits/syscall.h.in | 1 +
arch/powerpc64/bits/syscall.h.in | 1 +
arch/riscv64/bits/syscall.h.in | 1 +
arch/s390x/bits/syscall.h.in | 1 +
arch/sh/bits/syscall.h.in | 1 +
arch/x32/bits/syscall.h.in | 1 +
arch/x86_64/bits/syscall.h.in | 1 +
16 files changed, 16 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index e955da4d..037da214 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -295,4 +295,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 2a55d4db..8919137f 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -395,6 +395,7 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index f900db2e..4c04ea89 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -432,4 +432,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index e064b445..136775b4 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -412,3 +412,4 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 86fe8271..10f27aba 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -433,4 +433,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 83c9655d..1d0deed3 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -414,4 +414,5 @@
#define __NR_faccessat2 4439
#define __NR_process_madvise 4440
#define __NR_epoll_pwait2 4441
+#define __NR_mount_setattr 4442
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index 1be9f3e1..b1b83f5f 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -344,4 +344,5 @@
#define __NR_faccessat2 5439
#define __NR_process_madvise 5440
#define __NR_epoll_pwait2 5441
+#define __NR_mount_setattr 5442
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index 1bd7aeb2..bfaa080e 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -368,4 +368,5 @@
#define __NR_faccessat2 6439
#define __NR_process_madvise 6440
#define __NR_epoll_pwait2 6441
+#define __NR_mount_setattr 6442
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 499aa832..3c60eda9 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -317,4 +317,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 7f7d5a11..33e26e4b 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -421,4 +421,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index b5793172..38bb23cb 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -393,4 +393,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
index df6bf5c2..a9cbfb50 100644
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -295,6 +295,7 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
#define __NR_sysriscv __NR_arch_specific_syscall
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 16ec02ee..88de5148 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -358,4 +358,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index 4fc1f9e8..1a900264 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -405,4 +405,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 14c7231f..d90cb157 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -304,6 +304,7 @@
#define __NR_faccessat2 (0x40000000 + 439)
#define __NR_process_madvise (0x40000000 + 440)
#define __NR_epoll_pwait2 (0x40000000 + 441)
+#define __NR_mount_setattr (0x40000000 + 442)
#define __NR_rt_sigaction (0x40000000 + 512)
diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
index f611884e..634e29fd 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -351,4 +351,5 @@
#define __NR_faccessat2 439
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
+#define __NR_mount_setattr 442
--
2.31.1
[-- Attachment #11: 0010-s390x-add-ptrace-requests-from-linux-v5.12.patch --]
[-- Type: text/x-diff, Size: 912 bytes --]
From 1900d6743457441ad469e6c62f7eb20818e000e8 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Tue, 25 May 2021 21:16:43 +0000
Subject: [PATCH 10/17] s390x: add ptrace requests from linux v5.12
PTRACE_OLDSETOPTIONS is old, but it was missing, PTRACE_SYSEMU and
PTRACE_SYSEMU_SINGLESTEP are new, see
linux commit 56e62a73702836017564eaacd5212e4d0fa1c01d
s390: convert to generic entry
---
arch/s390x/bits/ptrace.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/s390x/bits/ptrace.h b/arch/s390x/bits/ptrace.h
index d50e3262..a06cb077 100644
--- a/arch/s390x/bits/ptrace.h
+++ b/arch/s390x/bits/ptrace.h
@@ -1,4 +1,7 @@
#define PTRACE_SINGLEBLOCK 12
+#define PTRACE_OLDSETOPTIONS 21
+#define PTRACE_SYSEMU 31
+#define PTRACE_SYSEMU_SINGLESTEP 32
#define PTRACE_PEEKUSR_AREA 0x5000
#define PTRACE_POKEUSR_AREA 0x5001
#define PTRACE_GET_LAST_BREAK 0x5006
--
2.31.1
[-- Attachment #12: 0011-netinet-tcp.h-add-TCP_NLA_-values-up-to-linux-v5.12.patch --]
[-- Type: text/x-diff, Size: 920 bytes --]
From 08d3a3e30feb501355423e22ead92e55d241cdcd Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 26 May 2021 16:04:38 +0000
Subject: [PATCH 11/17] netinet/tcp.h: add TCP_NLA_* values up to linux v5.12
TCP_NLA_EDT was new in v5.9, see
linux commit 48040793fa6003d211f021c6ad273477bcd90d91
tcp: add earliest departure time to SCM_TIMESTAMPING_OPT_STATS
TCP_NLA_TTL is new in v5.12, see
linux commit e7ed11ee945438b737e2ae2370e35591e16ec371
tcp: add TTL to SCM_TIMESTAMPING_OPT_STATS
---
include/netinet/tcp.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 30f20239..08ed7cc2 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -80,6 +80,8 @@ enum {
TCP_NLA_SRTT,
TCP_NLA_TIMEOUT_REHASH,
TCP_NLA_BYTES_NOTSENT,
+ TCP_NLA_EDT,
+ TCP_NLA_TTL,
};
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
--
2.31.1
[-- Attachment #13: 0012-netinet-tcp.h-add-tcp_zerocopy_receive-fields-from-l.patch --]
[-- Type: text/x-diff, Size: 939 bytes --]
From 13484d24d561a7c926b1ae7460d35b809ed669d9 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 26 May 2021 16:01:38 +0000
Subject: [PATCH 12/17] netinet/tcp.h: add tcp_zerocopy_receive fields from
linux v5.12
see
linux commit 7eeba1706eba6def15f6cb2fc7b3c3b9a2651edc
tcp: Add receive timestamp support for receive zerocopy.
linux commit 3c5a2fd042d0bfac71a2dfb99515723d318df47b
tcp: Sanitize CMSG flags and reserved args in tcp_zerocopy_receive.
---
include/netinet/tcp.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/netinet/tcp.h b/include/netinet/tcp.h
index 08ed7cc2..fad1d844 100644
--- a/include/netinet/tcp.h
+++ b/include/netinet/tcp.h
@@ -294,6 +294,10 @@ struct tcp_zerocopy_receive {
uint64_t copybuf_address;
int32_t copybuf_len;
uint32_t flags;
+ uint64_t msg_control;
+ uint64_t msg_controllen;
+ uint32_t msg_flags;
+ uint32_t reserved;
};
#endif
--
2.31.1
[-- Attachment #14: 0013-bits-syscall.h-add-landlock-syscalls-from-linux-v5.1.patch --]
[-- Type: text/x-diff, Size: 8573 bytes --]
From 469a4405afc02694f41c979fbfa2215e0a34ddbe Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 4 Jul 2021 16:34:15 +0000
Subject: [PATCH 13/17] bits/syscall.h: add landlock syscalls from linux v5.13
see
linux commit a49f4f81cb48925e8d7cbd9e59068f516e984144
arch: Wire up Landlock syscalls
linuxcommit 17ae69aba89dbfa2139b7f8024b757ab3cc42f59
Merge tag 'landlock_v34' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
Landlock provides for unprivileged application sandboxing. The goal of
Landlock is to enable to restrict ambient rights (e.g. global filesystem
access) for a set of processes. Landlock is inspired by seccomp-bpf but
instead of filtering syscalls and their raw arguments, a Landlock rule
can restrict the use of kernel objects like file hierarchies, according
to the kernel semantic.
---
arch/aarch64/bits/syscall.h.in | 3 +++
arch/arm/bits/syscall.h.in | 3 +++
arch/i386/bits/syscall.h.in | 3 +++
arch/m68k/bits/syscall.h.in | 3 +++
arch/microblaze/bits/syscall.h.in | 3 +++
arch/mips/bits/syscall.h.in | 3 +++
arch/mips64/bits/syscall.h.in | 3 +++
arch/mipsn32/bits/syscall.h.in | 3 +++
arch/or1k/bits/syscall.h.in | 3 +++
arch/powerpc/bits/syscall.h.in | 3 +++
arch/powerpc64/bits/syscall.h.in | 3 +++
arch/riscv64/bits/syscall.h.in | 3 +++
arch/s390x/bits/syscall.h.in | 3 +++
arch/sh/bits/syscall.h.in | 3 +++
arch/x32/bits/syscall.h.in | 3 +++
arch/x86_64/bits/syscall.h.in | 3 +++
16 files changed, 48 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index 037da214..5f420e61 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -296,4 +296,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 8919137f..048fdea7 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -396,6 +396,9 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
#define __ARM_NR_breakpoint 0x0f0001
#define __ARM_NR_cacheflush 0x0f0002
diff --git a/arch/i386/bits/syscall.h.in b/arch/i386/bits/syscall.h.in
index 4c04ea89..46ffe1d9 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -433,4 +433,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index 136775b4..a0c63323 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -413,3 +413,6 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 10f27aba..931d7919 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -434,4 +434,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 1d0deed3..63e3503a 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -415,4 +415,7 @@
#define __NR_process_madvise 4440
#define __NR_epoll_pwait2 4441
#define __NR_mount_setattr 4442
+#define __NR_landlock_create_ruleset 4444
+#define __NR_landlock_add_rule 4445
+#define __NR_landlock_restrict_self 4446
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index b1b83f5f..b89965d1 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -345,4 +345,7 @@
#define __NR_process_madvise 5440
#define __NR_epoll_pwait2 5441
#define __NR_mount_setattr 5442
+#define __NR_landlock_create_ruleset 5444
+#define __NR_landlock_add_rule 5445
+#define __NR_landlock_restrict_self 5446
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index bfaa080e..bb2d04a8 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -369,4 +369,7 @@
#define __NR_process_madvise 6440
#define __NR_epoll_pwait2 6441
#define __NR_mount_setattr 6442
+#define __NR_landlock_create_ruleset 6444
+#define __NR_landlock_add_rule 6445
+#define __NR_landlock_restrict_self 6446
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 3c60eda9..2b5f2052 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -318,4 +318,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 33e26e4b..b1605a58 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -422,4 +422,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 38bb23cb..b3a8fba0 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -394,4 +394,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
index a9cbfb50..b534afe8 100644
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -296,6 +296,9 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
#define __NR_sysriscv __NR_arch_specific_syscall
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in
index 88de5148..dfc38479 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -359,4 +359,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index 1a900264..ff14f54d 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -406,4 +406,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index d90cb157..5d22fa17 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -305,6 +305,9 @@
#define __NR_process_madvise (0x40000000 + 440)
#define __NR_epoll_pwait2 (0x40000000 + 441)
#define __NR_mount_setattr (0x40000000 + 442)
+#define __NR_landlock_create_ruleset (0x40000000 + 444)
+#define __NR_landlock_add_rule (0x40000000 + 445)
+#define __NR_landlock_restrict_self (0x40000000 + 446)
#define __NR_rt_sigaction (0x40000000 + 512)
diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in
index 634e29fd..c3882de7 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -352,4 +352,7 @@
#define __NR_process_madvise 440
#define __NR_epoll_pwait2 441
#define __NR_mount_setattr 442
+#define __NR_landlock_create_ruleset 444
+#define __NR_landlock_add_rule 445
+#define __NR_landlock_restrict_self 446
--
2.31.1
[-- Attachment #15: 0014-netinet-in.h-add-INADDR_DUMMY-from-linux-v5.13.patch --]
[-- Type: text/x-diff, Size: 1151 bytes --]
From 76d88f9aa47fb4b974f36f17dfa612bcdac67b87 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 4 Jul 2021 20:33:25 +0000
Subject: [PATCH 14/17] netinet/in.h: add INADDR_DUMMY from linux v5.13
see
linux commit 321827477360934dc040e9d3c626bf1de6c3ab3c
icmp: don't send out ICMP messages with a source address of 0.0.0.0
"RFC7600 reserves a dummy address to be used as a source for ICMP
messages (192.0.0.8/32), so let's teach the kernel to substitute that
address as a last resort if the regular source address selection procedure
fails."
---
include/netinet/in.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/netinet/in.h b/include/netinet/in.h
index f9594339..fb628b61 100644
--- a/include/netinet/in.h
+++ b/include/netinet/in.h
@@ -48,6 +48,7 @@ struct ipv6_mreq {
#define INADDR_BROADCAST ((in_addr_t) 0xffffffff)
#define INADDR_NONE ((in_addr_t) 0xffffffff)
#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001)
+#define INADDR_DUMMY ((in_addr_t) 0xc0000008)
#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000)
#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001)
--
2.31.1
[-- Attachment #16: 0015-elf.h-add-NT_ARM_PAC_ENABLED_KEYS-from-linux-v5.13.patch --]
[-- Type: text/x-diff, Size: 789 bytes --]
From 05e104470594bcab69e2d16cd56e913650dc4add Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 7 Jul 2021 17:40:46 +0000
Subject: [PATCH 15/17] elf.h: add NT_ARM_PAC_ENABLED_KEYS from linux v5.13
see
linux commit 201698626fbca1cf1a3b686ba14cf2a056500716
arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS)
---
include/elf.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/elf.h b/include/elf.h
index 5170f3e2..86e2f0bb 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -687,6 +687,7 @@ typedef struct {
#define NT_ARM_PACA_KEYS 0x407
#define NT_ARM_PACG_KEYS 0x408
#define NT_ARM_TAGGED_ADDR_CTRL 0x409
+#define NT_ARM_PAC_ENABLED_KEYS 0x40a
#define NT_METAG_CBUF 0x500
#define NT_METAG_RPIPE 0x501
#define NT_METAG_TLS 0x502
--
2.31.1
[-- Attachment #17: 0016-sys-prctl.h-add-PR_PAC_-SET-GET-_ENABLED_KEYS-from-l.patch --]
[-- Type: text/x-diff, Size: 814 bytes --]
From 57a589717572ef7d3c3eb4480ca224d295817536 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 7 Jul 2021 17:43:30 +0000
Subject: [PATCH 16/17] sys/prctl.h: add PR_PAC_{SET,GET}_ENABLED_KEYS from
linux v5.13
see
linux commit 201698626fbca1cf1a3b686ba14cf2a056500716
arm64: Introduce prctl(PR_PAC_{SET,GET}_ENABLED_KEYS)
---
include/sys/prctl.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/sys/prctl.h b/include/sys/prctl.h
index 3f0254c7..087a75c9 100644
--- a/include/sys/prctl.h
+++ b/include/sys/prctl.h
@@ -174,6 +174,9 @@ struct prctl_mm_map {
#define SYSCALL_DISPATCH_FILTER_ALLOW 0
#define SYSCALL_DISPATCH_FILTER_BLOCK 1
+#define PR_PAC_SET_ENABLED_KEYS 60
+#define PR_PAC_GET_ENABLED_KEYS 61
+
int prctl (int, ...);
#ifdef __cplusplus
--
2.31.1
[-- Attachment #18: 0017-sys-ptrace.h-add-PTRACE_GET_RSEQ_CONFIGURATION-from-.patch --]
[-- Type: text/x-diff, Size: 1182 bytes --]
From ffb5be3d37cfa5115d2f67e0f64793cdbc531c7d Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Wed, 7 Jul 2021 17:46:31 +0000
Subject: [PATCH 17/17] sys/ptrace.h: add PTRACE_GET_RSEQ_CONFIGURATION from
linux v5.13
see
linux commit 90f093fa8ea48e5d991332cee160b761423d55c1
rseq, ptrace: Add PTRACE_GET_RSEQ_CONFIGURATION request
the struct type got __ prefix to follow existing practice.
---
include/sys/ptrace.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/sys/ptrace.h b/include/sys/ptrace.h
index 5d62a985..c72e3c06 100644
--- a/include/sys/ptrace.h
+++ b/include/sys/ptrace.h
@@ -42,6 +42,7 @@ extern "C" {
#define PTRACE_SECCOMP_GET_FILTER 0x420c
#define PTRACE_SECCOMP_GET_METADATA 0x420d
#define PTRACE_GET_SYSCALL_INFO 0x420e
+#define PTRACE_GET_RSEQ_CONFIGURATION 0x420f
#define PT_READ_I PTRACE_PEEKTEXT
#define PT_READ_D PTRACE_PEEKDATA
@@ -130,6 +131,14 @@ struct __ptrace_syscall_info {
};
};
+struct __ptrace_rseq_configuration {
+ uint64_t rseq_abi_pointer;
+ uint32_t rseq_abi_size;
+ uint32_t signature;
+ uint32_t flags;
+ uint32_t pad;
+};
+
long ptrace(int, ...);
#ifdef __cplusplus
--
2.31.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-07-10 19:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-10 19:13 [musl] [PATCH 00/17] updates for linux v5.11, v5.12, v5.13 Szabolcs Nagy
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/musl/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).