From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/14297 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Szabolcs Nagy Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH v2 00/12] Update for linux v5.1 Date: Sat, 29 Jun 2019 23:28:21 +0200 Message-ID: <20190629212821.GB21055@port70.net> Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="J/dobhs11T7y2rNN" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="95846"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) To: musl@lists.openwall.com Original-X-From: musl-return-14313-gllmg-musl=m.gmane.org@lists.openwall.com Sat Jun 29 23:28:36 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1hhKtg-000OpW-2q for gllmg-musl@m.gmane.org; Sat, 29 Jun 2019 23:28:36 +0200 Original-Received: (qmail 22282 invoked by uid 550); 29 Jun 2019 21:28:33 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 22250 invoked from network); 29 Jun 2019 21:28:33 -0000 Mail-Followup-To: musl@lists.openwall.com Content-Disposition: inline Xref: news.gmane.org gmane.linux.lib.musl.general:14297 Archived-At: --J/dobhs11T7y2rNN Content-Type: text/plain; charset=us-ascii Content-Disposition: inline v2: - split the sys/socket.h patch so the time_t change is separate. - note the microblaze ipc syscall behaviour change Szabolcs Nagy (12): sys/fanotify.h: update for linux v5.1 fcntl.h: add F_SEAL_FUTURE_WRITE from linux v5.1 sys/prctl.h: add PR_SPEC_DISABLE_NOEXEC from linux v5.1 netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1 s390x: drop SO_ definitions from bits/socket.h sys/socket.h: add SO_BINDTOIFINDEX from linux v5.1 sys/socket.h: add time_t related SO_ definitions from linux v5.1 netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1 elf.h: add NT_ARM_PAC{A,G}_KEYS from linux v5.1 mips64: fix syscall numbers of io_pgetevents and rseq ipc: prefer SYS_ipc when it is defined add new syscall numbers from linux v5.1 arch/aarch64/bits/syscall.h.in | 4 ++++ arch/arm/bits/syscall.h.in | 26 +++++++++++++++++++++ arch/i386/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/m68k/bits/syscall.h.in | 39 +++++++++++++++++++++++++++++++ arch/microblaze/bits/syscall.h.in | 24 +++++++++++++++++++ arch/mips/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/mips64/bits/syscall.h.in | 8 +++++-- arch/mipsn32/bits/syscall.h.in | 24 +++++++++++++++++++ arch/or1k/bits/syscall.h.in | 24 +++++++++++++++++++ arch/powerpc/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/powerpc64/bits/syscall.h.in | 15 ++++++++++++ arch/s390x/bits/socket.h | 28 ---------------------- arch/s390x/bits/syscall.h.in | 18 ++++++++++++++ arch/sh/bits/syscall.h.in | 39 +++++++++++++++++++++++++++++++ arch/x32/bits/syscall.h.in | 4 ++++ arch/x86_64/bits/syscall.h.in | 4 ++++ include/elf.h | 2 ++ include/fcntl.h | 1 + include/netinet/in.h | 2 ++ include/sys/fanotify.h | 34 ++++++++++++++++++++++++++- include/sys/prctl.h | 1 + include/sys/socket.h | 11 +++++++++ src/ipc/msgctl.c | 2 +- src/ipc/msgget.c | 2 +- src/ipc/msgrcv.c | 2 +- src/ipc/msgsnd.c | 2 +- src/ipc/semctl.c | 2 +- src/ipc/semget.c | 2 +- src/ipc/semop.c | 2 +- src/ipc/semtimedop.c | 2 +- src/ipc/shmat.c | 2 +- src/ipc/shmctl.c | 2 +- src/ipc/shmdt.c | 2 +- src/ipc/shmget.c | 2 +- 34 files changed, 391 insertions(+), 43 deletions(-) -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-sys-fanotify.h-update-for-linux-v5.1.patch" >From 7c7c745b6d0f45b8ba85275914bf2848ea628287 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 18:36:33 +0000 Subject: [PATCH 01/12] sys/fanotify.h: update for linux v5.1 includes changes from linux v5.1 linux commit 235328d1fa4251c6dcb32351219bb553a58838d2 fanotify: add support for create/attrib/move/delete events linux commit 5e469c830fdb5a1ebaa69b375b87f583326fd296 fanotify: copy event fid info to user linux commit e9e0c8903009477b630e37a8b6364b26a00720da fanotify: encode file identifier for FAN_REPORT_FID as well as earlier changes that were missed. sys/statfs.h is included for fsid_t. --- include/sys/fanotify.h | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/include/sys/fanotify.h b/include/sys/fanotify.h index daab76b1..b637c8f5 100644 --- a/include/sys/fanotify.h +++ b/include/sys/fanotify.h @@ -5,6 +5,8 @@ extern "C" { #endif +#include + struct fanotify_event_metadata { unsigned event_len; unsigned char vers; @@ -19,6 +21,18 @@ struct fanotify_event_metadata { int pid; }; +struct fanotify_event_info_header { + unsigned char info_type; + unsigned char pad; + unsigned short len; +}; + +struct fanotify_event_info_fid { + struct fanotify_event_info_header hdr; + fsid_t fsid; + unsigned char handle[]; +}; + struct fanotify_response { int fd; unsigned response; @@ -26,15 +40,25 @@ struct fanotify_response { #define FAN_ACCESS 0x01 #define FAN_MODIFY 0x02 +#define FAN_ATTRIB 0x04 #define FAN_CLOSE_WRITE 0x08 #define FAN_CLOSE_NOWRITE 0x10 #define FAN_OPEN 0x20 +#define FAN_MOVED_FROM 0x40 +#define FAN_MOVED_TO 0x80 +#define FAN_CREATE 0x100 +#define FAN_DELETE 0x200 +#define FAN_DELETE_SELF 0x400 +#define FAN_MOVE_SELF 0x800 +#define FAN_OPEN_EXEC 0x1000 #define FAN_Q_OVERFLOW 0x4000 #define FAN_OPEN_PERM 0x10000 #define FAN_ACCESS_PERM 0x20000 +#define FAN_OPEN_EXEC_PERM 0x40000 #define FAN_ONDIR 0x40000000 #define FAN_EVENT_ON_CHILD 0x08000000 #define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) +#define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) #define FAN_CLOEXEC 0x01 #define FAN_NONBLOCK 0x02 #define FAN_CLASS_NOTIF 0 @@ -43,22 +67,30 @@ struct fanotify_response { #define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | FAN_CLASS_PRE_CONTENT) #define FAN_UNLIMITED_QUEUE 0x10 #define FAN_UNLIMITED_MARKS 0x20 +#define FAN_ENABLE_AUDIT 0x40 +#define FAN_REPORT_TID 0x100 +#define FAN_REPORT_FID 0x200 #define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS) #define FAN_MARK_ADD 0x01 #define FAN_MARK_REMOVE 0x02 #define FAN_MARK_DONT_FOLLOW 0x04 #define FAN_MARK_ONLYDIR 0x08 -#define FAN_MARK_MOUNT 0x10 #define FAN_MARK_IGNORED_MASK 0x20 #define FAN_MARK_IGNORED_SURV_MODIFY 0x40 #define FAN_MARK_FLUSH 0x80 +#define FAN_MARK_INODE 0x00 +#define FAN_MARK_MOUNT 0x10 +#define FAN_MARK_FILESYSTEM 0x100 +#define FAN_MARK_TYPE_MASK (FAN_MARK_INODE | FAN_MARK_MOUNT | FAN_MARK_FILESYSTEM) #define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD | FAN_MARK_REMOVE | FAN_MARK_DONT_FOLLOW | FAN_MARK_ONLYDIR | FAN_MARK_MOUNT | FAN_MARK_IGNORED_MASK | FAN_MARK_IGNORED_SURV_MODIFY | FAN_MARK_FLUSH) #define FAN_ALL_EVENTS (FAN_ACCESS | FAN_MODIFY | FAN_CLOSE | FAN_OPEN) #define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM | FAN_ACCESS_PERM) #define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_Q_OVERFLOW) #define FANOTIFY_METADATA_VERSION 3 +#define FAN_EVENT_INFO_TYPE_FID 1 #define FAN_ALLOW 0x01 #define FAN_DENY 0x02 +#define FAN_AUDIT 0x10 #define FAN_NOFD -1 #define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata)) #define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, (struct fanotify_event_metadata*)(((char *)(meta)) + (meta)->event_len)) -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0002-fcntl.h-add-F_SEAL_FUTURE_WRITE-from-linux-v5.1.patch" >From 401261c95028d769f3a79f92be402e437612affd Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 18:51:53 +0000 Subject: [PATCH 02/12] fcntl.h: add F_SEAL_FUTURE_WRITE from linux v5.1 needed for android so it can migrate from its ashmem to memfd. allows making the memfd readonly for future users while keeping a writable mmap of it. see linux commit ab3948f58ff841e51feb845720624665ef5b7ef3 mm/memfd: add an F_SEAL_FUTURE_WRITE seal to memfd --- include/fcntl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/fcntl.h b/include/fcntl.h index 1fba777d..af293405 100644 --- a/include/fcntl.h +++ b/include/fcntl.h @@ -129,6 +129,7 @@ int posix_fallocate(int, off_t, off_t); #define F_SEAL_SHRINK 0x0002 #define F_SEAL_GROW 0x0004 #define F_SEAL_WRITE 0x0008 +#define F_SEAL_FUTURE_WRITE 0x0010 #define F_GET_RW_HINT 1035 #define F_SET_RW_HINT 1036 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0003-sys-prctl.h-add-PR_SPEC_DISABLE_NOEXEC-from-linux-v5.patch" >From 313925c8834625a4273d1bd997c654d7cdea230b Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 18:59:51 +0000 Subject: [PATCH 03/12] sys/prctl.h: add PR_SPEC_DISABLE_NOEXEC from linux v5.1 allows specifying that the speculative store bypass disable bit should be cleared on exec. see linux commit 71368af9027f18fe5d1c6f372cfdff7e4bde8b48 x86/speculation: Add PR_SPEC_DISABLE_NOEXEC --- include/sys/prctl.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/sys/prctl.h b/include/sys/prctl.h index 9cc3a80e..07f0d73d 100644 --- a/include/sys/prctl.h +++ b/include/sys/prctl.h @@ -145,6 +145,7 @@ struct prctl_mm_map { #define PR_SPEC_ENABLE (1UL << 1) #define PR_SPEC_DISABLE (1UL << 2) #define PR_SPEC_FORCE_DISABLE (1UL << 3) +#define PR_SPEC_DISABLE_NOEXEC (1UL << 4) #define PR_PAC_RESET_KEYS 54 #define PR_PAC_APIAKEY (1UL << 0) -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0004-netinet-in.h-add-IPV6_ROUTER_ALERT_ISOLATE-from-linu.patch" >From dfbcecf6881b8e995d3d60d9cb2499d3113fbcb5 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 19:09:06 +0000 Subject: [PATCH 04/12] netinet/in.h: add IPV6_ROUTER_ALERT_ISOLATE from linux v5.1 restricts router alert packets received by the socket to the socket's namespace only. see linux commit 9036b2fe092a107856edd1a3bad48b83f2b45000 net: ipv6: add socket option IPV6_ROUTER_ALERT_ISOLATE --- include/netinet/in.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/netinet/in.h b/include/netinet/in.h index 3ba7546c..17705754 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -336,6 +336,7 @@ struct ip6_mtuinfo { #define IPV6_JOIN_ANYCAST 27 #define IPV6_LEAVE_ANYCAST 28 #define IPV6_MULTICAST_ALL 29 +#define IPV6_ROUTER_ALERT_ISOLATE 30 #define IPV6_IPSEC_POLICY 34 #define IPV6_XFRM_POLICY 35 #define IPV6_HDRINCL 36 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0005-s390x-drop-SO_-definitions-from-bits-socket.h.patch" >From 662e121a64b4b64265a137feaea2cecb7d2fcdb2 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 21:27:40 +0000 Subject: [PATCH 05/12] s390x: drop SO_ definitions from bits/socket.h the s390x definitions matched the generic ones in sys/socket.h. --- arch/s390x/bits/socket.h | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/arch/s390x/bits/socket.h b/arch/s390x/bits/socket.h index f2983ee1..bd4b20c4 100644 --- a/arch/s390x/bits/socket.h +++ b/arch/s390x/bits/socket.h @@ -15,31 +15,3 @@ struct cmsghdr { int cmsg_level; int cmsg_type; }; - -#define SO_DEBUG 1 -#define SO_REUSEADDR 2 -#define SO_TYPE 3 -#define SO_ERROR 4 -#define SO_DONTROUTE 5 -#define SO_BROADCAST 6 -#define SO_SNDBUF 7 -#define SO_RCVBUF 8 -#define SO_KEEPALIVE 9 -#define SO_OOBINLINE 10 -#define SO_NO_CHECK 11 -#define SO_PRIORITY 12 -#define SO_LINGER 13 -#define SO_BSDCOMPAT 14 -#define SO_REUSEPORT 15 -#define SO_PASSCRED 16 -#define SO_PEERCRED 17 -#define SO_RCVLOWAT 18 -#define SO_SNDLOWAT 19 -#define SO_RCVTIMEO 20 -#define SO_SNDTIMEO 21 -#define SO_ACCEPTCONN 30 -#define SO_PEERSEC 31 -#define SO_SNDBUFFORCE 32 -#define SO_RCVBUFFORCE 33 -#define SO_PROTOCOL 38 -#define SO_DOMAIN 39 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0006-sys-socket.h-add-SO_BINDTOIFINDEX-from-linux-v5.1.patch" >From ea4834ccf44ab8ea5c7a2200a5af6b3790e8f396 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Sat, 29 Jun 2019 21:13:18 +0000 Subject: [PATCH 06/12] sys/socket.h: add SO_BINDTOIFINDEX from linux v5.1 SO_BINDTOIFINDEX behaves similar to SO_BINDTODEVICE, but takes a network interface index as argument, rather than the network interface name. see linux commit f5dd3d0c9638a9d9a02b5964c4ad636f06cf7e2c net: introduce SO_BINDTOIFINDEX sockopt --- include/sys/socket.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/sys/socket.h b/include/sys/socket.h index cd38a4c8..8692efa7 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -237,6 +237,7 @@ struct linger { #define SO_ZEROCOPY 60 #define SO_TXTIME 61 #define SCM_TXTIME SO_TXTIME +#define SO_BINDTOIFINDEX 62 #ifndef SOL_SOCKET #define SOL_SOCKET 1 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0007-sys-socket.h-add-time_t-related-SO_-definitions-from.patch" >From 59bb3d263decbe56b59a426f3292bdf7e115402a Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 19:20:17 +0000 Subject: [PATCH 07/12] sys/socket.h: add time_t related SO_ definitions from linux v5.1 the new definitions are from commits linux commit a9beb86ae6e55bd92f38453c8623de60b8e5a308 sock: Add SO_RCVTIMEO_NEW and SO_SNDTIMEO_NEW linux commit 45bdc66159d49bfc7f75fe02d25bc74f5d2660cf socket: Rename SO_RCVTIMEO/ SO_SNDTIMEO with _OLD suffixes linux commit 9718475e69084de15c3930ce35672a7dc6da866b socket: Add SO_TIMESTAMPING_NEW linux commit 887feae36aee6c08e0dafcdaa5ba921abbb2c56b socket: Add SO_TIMESTAMP[NS]_NEW linux commit 7f1bc6e95d7840d4305595b3e4025cddda88cee5 sockopt: Rename SO_TIMESTAMP* to SO_TIMESTAMP*_OLD _NEW socket options got introduced for 64bit time_t support on 32bit targets, in musl the affected socket options are always the same as the _OLD values since different time_t requires a new abi, so the _OLD vs _NEW dispatch logic was not copied from the uapi headers. --- include/sys/socket.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/sys/socket.h b/include/sys/socket.h index 8692efa7..e6d43d08 100644 --- a/include/sys/socket.h +++ b/include/sys/socket.h @@ -238,6 +238,16 @@ struct linger { #define SO_TXTIME 61 #define SCM_TXTIME SO_TXTIME #define SO_BINDTOIFINDEX 62 +#define SO_TIMESTAMP_NEW 63 +#define SO_TIMESTAMPNS_NEW 64 +#define SO_TIMESTAMPING_NEW 65 +#define SO_RCVTIMEO_NEW 66 +#define SO_SNDTIMEO_NEW 67 +#define SO_TIMESTAMP_OLD SO_TIMESTAMP +#define SO_TIMESTAMPNS_OLD SO_TIMESTAMPNS +#define SO_TIMESTAMPING_OLD SO_TIMESTAMPING +#define SO_RCVTIMEO_OLD SO_RCVTIMEO +#define SO_SNDTIMEO_OLD SO_SNDTIMEO #ifndef SOL_SOCKET #define SOL_SOCKET 1 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0008-netinet-in.h-add-INADDR_ALLSNOOPERS_GROUP-from-linux.patch" >From 851987fc0e7110ec6b08153043710be30acf6a70 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 19:37:09 +0000 Subject: [PATCH 08/12] netinet/in.h: add INADDR_ALLSNOOPERS_GROUP from linux v5.1 RFC 4286: "The IPv4 multicast address for All-Snoopers is 224.0.0.106." from linux commit 4effd28c1245303dce7fd290c501ac2c11052114 bridge: join all-snoopers multicast address --- include/netinet/in.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/netinet/in.h b/include/netinet/in.h index 17705754..5b8b21e6 100644 --- a/include/netinet/in.h +++ b/include/netinet/in.h @@ -52,6 +52,7 @@ struct ipv6_mreq { #define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) #define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) #define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) +#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) #define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) #define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0009-elf.h-add-NT_ARM_PAC-A-G-_KEYS-from-linux-v5.1.patch" >From 72882cf8d6b09162a9b4b9bee158a692c8cca3c8 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 19:45:11 +0000 Subject: [PATCH 09/12] elf.h: add NT_ARM_PAC{A,G}_KEYS from linux v5.1 to request or change pointer auth keys for criu via ptrace, new in linux commit d0a060be573bfbf8753a15dca35497db5e968bb0 arm64: add ptrace regsets for ptrauth key management --- include/elf.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/elf.h b/include/elf.h index aad522e4..5914cf81 100644 --- a/include/elf.h +++ b/include/elf.h @@ -683,6 +683,8 @@ typedef struct { #define NT_ARM_SYSTEM_CALL 0x404 #define NT_ARM_SVE 0x405 #define NT_ARM_PAC_MASK 0x406 +#define NT_ARM_PACA_KEYS 0x407 +#define NT_ARM_PACG_KEYS 0x408 #define NT_METAG_CBUF 0x500 #define NT_METAG_RPIPE 0x501 #define NT_METAG_TLS 0x502 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0010-mips64-fix-syscall-numbers-of-io_pgetevents-and-rseq.patch" >From 875172fdfaed17a5c11074900b7f0cc3c62d4c0c Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 20:20:24 +0000 Subject: [PATCH 10/12] mips64: fix syscall numbers of io_pgetevents and rseq the numbers added in commit d149e69c02eb558114f20ea718810e95538a3b2f add io_pgetevents and rseq syscall numbers from linux v4.18 were incorrect. --- arch/mips64/bits/syscall.h.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in index f814aa48..9eebbb6a 100644 --- a/arch/mips64/bits/syscall.h.in +++ b/arch/mips64/bits/syscall.h.in @@ -324,6 +324,6 @@ #define __NR_pkey_alloc 5324 #define __NR_pkey_free 5325 #define __NR_statx 5326 -#define __NR_rseq 4327 -#define __NR_io_pgetevents 4328 +#define __NR_rseq 5327 +#define __NR_io_pgetevents 5328 -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0011-ipc-prefer-SYS_ipc-when-it-is-defined.patch" >From 10ad63dc33ffff31f68b9627212aca291fe39b5e Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 22:49:28 +0000 Subject: [PATCH 11/12] ipc: prefer SYS_ipc when it is defined Linux v5.1 introduced ipc syscalls on targets where previously only SYS_ipc was available, change the logic such that the ipc code keeps using SYS_ipc which works backward compatibly on older kernels. This changes behaviour on microblaze which had both mechanisms, now SYS_ipc will be used instead of separate syscalls. --- src/ipc/msgctl.c | 2 +- src/ipc/msgget.c | 2 +- src/ipc/msgrcv.c | 2 +- src/ipc/msgsnd.c | 2 +- src/ipc/semctl.c | 2 +- src/ipc/semget.c | 2 +- src/ipc/semop.c | 2 +- src/ipc/semtimedop.c | 2 +- src/ipc/shmat.c | 2 +- src/ipc/shmctl.c | 2 +- src/ipc/shmdt.c | 2 +- src/ipc/shmget.c | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/ipc/msgctl.c b/src/ipc/msgctl.c index ea9b2337..868197f6 100644 --- a/src/ipc/msgctl.c +++ b/src/ipc/msgctl.c @@ -17,7 +17,7 @@ int msgctl(int q, int cmd, struct msqid_ds *buf) buf = &tmp; } #endif -#ifdef SYS_msgctl +#ifndef SYS_ipc int r = __syscall(SYS_msgctl, q, cmd | IPC_64, buf); #else int r = __syscall(SYS_ipc, IPCOP_msgctl, q, cmd | IPC_64, 0, buf, 0); diff --git a/src/ipc/msgget.c b/src/ipc/msgget.c index 9dfbc4ea..30a4b42b 100644 --- a/src/ipc/msgget.c +++ b/src/ipc/msgget.c @@ -4,7 +4,7 @@ int msgget(key_t k, int flag) { -#ifdef SYS_msgget +#ifndef SYS_ipc return syscall(SYS_msgget, k, flag); #else return syscall(SYS_ipc, IPCOP_msgget, k, flag); diff --git a/src/ipc/msgrcv.c b/src/ipc/msgrcv.c index 0a344e56..9d1034b1 100644 --- a/src/ipc/msgrcv.c +++ b/src/ipc/msgrcv.c @@ -4,7 +4,7 @@ ssize_t msgrcv(int q, void *m, size_t len, long type, int flag) { -#ifdef SYS_msgrcv +#ifndef SYS_ipc return syscall_cp(SYS_msgrcv, q, m, len, type, flag); #else return syscall_cp(SYS_ipc, IPCOP_msgrcv, q, len, flag, ((long[]){ (long)m, type })); diff --git a/src/ipc/msgsnd.c b/src/ipc/msgsnd.c index e1abde3a..99bb17e9 100644 --- a/src/ipc/msgsnd.c +++ b/src/ipc/msgsnd.c @@ -4,7 +4,7 @@ int msgsnd(int q, const void *m, size_t len, int flag) { -#ifdef SYS_msgsnd +#ifndef SYS_ipc return syscall_cp(SYS_msgsnd, q, m, len, flag); #else return syscall_cp(SYS_ipc, IPCOP_msgsnd, q, len, flag, m); diff --git a/src/ipc/semctl.c b/src/ipc/semctl.c index 941e2813..ce1fb164 100644 --- a/src/ipc/semctl.c +++ b/src/ipc/semctl.c @@ -33,7 +33,7 @@ int semctl(int id, int num, int cmd, ...) arg.buf = &tmp; } #endif -#ifdef SYS_semctl +#ifndef SYS_ipc int r = __syscall(SYS_semctl, id, num, cmd | IPC_64, arg.buf); #else int r = __syscall(SYS_ipc, IPCOP_semctl, id, num, cmd | IPC_64, &arg.buf); diff --git a/src/ipc/semget.c b/src/ipc/semget.c index c4a559db..2cdf626b 100644 --- a/src/ipc/semget.c +++ b/src/ipc/semget.c @@ -11,7 +11,7 @@ int semget(key_t key, int n, int fl) * n fits in the correct (per POSIX) userspace type, so * we have to check here. */ if (n > USHRT_MAX) return __syscall_ret(-EINVAL); -#ifdef SYS_semget +#ifndef SYS_ipc return syscall(SYS_semget, key, n, fl); #else return syscall(SYS_ipc, IPCOP_semget, key, n, fl); diff --git a/src/ipc/semop.c b/src/ipc/semop.c index 8046e437..5f0c7dea 100644 --- a/src/ipc/semop.c +++ b/src/ipc/semop.c @@ -4,7 +4,7 @@ int semop(int id, struct sembuf *buf, size_t n) { -#ifdef SYS_semop +#ifndef SYS_ipc return syscall(SYS_semop, id, buf, n); #else return syscall(SYS_ipc, IPCOP_semop, id, n, 0, buf); diff --git a/src/ipc/semtimedop.c b/src/ipc/semtimedop.c index b0c4cf9f..51e70805 100644 --- a/src/ipc/semtimedop.c +++ b/src/ipc/semtimedop.c @@ -5,7 +5,7 @@ int semtimedop(int id, struct sembuf *buf, size_t n, const struct timespec *ts) { -#ifdef SYS_semtimedop +#ifndef SYS_ipc return syscall(SYS_semtimedop, id, buf, n, ts); #else return syscall(SYS_ipc, IPCOP_semtimedop, id, n, 0, buf, ts); diff --git a/src/ipc/shmat.c b/src/ipc/shmat.c index 38db92f9..8c7407d1 100644 --- a/src/ipc/shmat.c +++ b/src/ipc/shmat.c @@ -2,7 +2,7 @@ #include "syscall.h" #include "ipc.h" -#ifdef SYS_shmat +#ifndef SYS_ipc void *shmat(int id, const void *addr, int flag) { return (void *)syscall(SYS_shmat, id, addr, flag); diff --git a/src/ipc/shmctl.c b/src/ipc/shmctl.c index c951a581..c2b2bb0d 100644 --- a/src/ipc/shmctl.c +++ b/src/ipc/shmctl.c @@ -17,7 +17,7 @@ int shmctl(int id, int cmd, struct shmid_ds *buf) buf = &tmp; } #endif -#ifdef SYS_shmctl +#ifndef SYS_ipc int r = __syscall(SYS_shmctl, id, cmd | IPC_64, buf); #else int r = __syscall(SYS_ipc, IPCOP_shmctl, id, cmd | IPC_64, 0, buf, 0); diff --git a/src/ipc/shmdt.c b/src/ipc/shmdt.c index d4fac8f1..57238137 100644 --- a/src/ipc/shmdt.c +++ b/src/ipc/shmdt.c @@ -4,7 +4,7 @@ int shmdt(const void *addr) { -#ifdef SYS_shmdt +#ifndef SYS_ipc return syscall(SYS_shmdt, addr); #else return syscall(SYS_ipc, IPCOP_shmdt, 0, 0, 0, addr); diff --git a/src/ipc/shmget.c b/src/ipc/shmget.c index b44f9d68..7521b5fa 100644 --- a/src/ipc/shmget.c +++ b/src/ipc/shmget.c @@ -6,7 +6,7 @@ int shmget(key_t key, size_t size, int flag) { if (size > PTRDIFF_MAX) size = SIZE_MAX; -#ifdef SYS_shmget +#ifndef SYS_ipc return syscall(SYS_shmget, key, size, flag); #else return syscall(SYS_ipc, IPCOP_shmget, key, size, flag); -- 2.21.0 --J/dobhs11T7y2rNN Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0012-add-new-syscall-numbers-from-linux-v5.1.patch" >From 87a9d17527458ce105d473fb7a78192a68e2b6e7 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Thu, 9 May 2019 20:44:27 +0000 Subject: [PATCH 12/12] add new syscall numbers from linux v5.1 syscall numbers are now synced up across targets (starting from 403 the numbers are the same on all targets other than an arch specific offset) IPC syscalls sem*, shm*, msg* got added where they were missing (except for semop: only semtimedop got added), the new semctl, shmctl, msgctl imply IPC_64, see linux commit 0d6040d4681735dfc47565de288525de405a5c99 arch: add split IPC system calls where needed new 64bit time_t syscall variants got added on 32bit targets, see linux commit 48166e6ea47d23984f0b481ca199250e1ce0730a y2038: add 64-bit time_t syscalls to all 32-bit architectures new async io syscalls got added, see linux commit 2b188cc1bb857a9d4701ae59aa7768b5124e262e Add io_uring IO interface linux commit edafccee56ff31678a091ddb7219aba9b28bc3cb io_uring: add support for pre-mapped user IO buffers a new syscall got added that uses the fd of /proc/ as a stable handle for processes: allows sending signals without pid reuse issues, intended to eventually replace rt_sigqueueinfo, kill, tgkill and rt_tgsigqueueinfo, see linux commit 3eb39f47934f9d5a3027fe00d906a45fe3a15fad signal: add pidfd_send_signal() syscall on some targets (arm, m68k, s390x, sh) some previously missing syscall numbers got added as well. --- arch/aarch64/bits/syscall.h.in | 4 ++++ arch/arm/bits/syscall.h.in | 26 +++++++++++++++++++++ arch/i386/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/m68k/bits/syscall.h.in | 39 +++++++++++++++++++++++++++++++ arch/microblaze/bits/syscall.h.in | 24 +++++++++++++++++++ arch/mips/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/mips64/bits/syscall.h.in | 4 ++++ arch/mipsn32/bits/syscall.h.in | 24 +++++++++++++++++++ arch/or1k/bits/syscall.h.in | 24 +++++++++++++++++++ arch/powerpc/bits/syscall.h.in | 34 +++++++++++++++++++++++++++ arch/powerpc64/bits/syscall.h.in | 15 ++++++++++++ arch/s390x/bits/syscall.h.in | 18 ++++++++++++++ arch/sh/bits/syscall.h.in | 39 +++++++++++++++++++++++++++++++ arch/x32/bits/syscall.h.in | 4 ++++ arch/x86_64/bits/syscall.h.in | 4 ++++ 15 files changed, 327 insertions(+) diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in index 4db85162..eed5a612 100644 --- a/arch/aarch64/bits/syscall.h.in +++ b/arch/aarch64/bits/syscall.h.in @@ -277,4 +277,8 @@ #define __NR_io_pgetevents 292 #define __NR_rseq 293 #define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in index 1787099d..8ce1d70a 100644 --- a/arch/arm/bits/syscall.h.in +++ b/arch/arm/bits/syscall.h.in @@ -355,6 +355,32 @@ #define __NR_statx 397 #define __NR_rseq 398 #define __NR_io_pgetevents 399 +#define __NR_migrate_pages 400 +#define __NR_kexec_file_load 401 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 #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 47f4ae03..fdfdc710 100644 --- a/arch/i386/bits/syscall.h.in +++ b/arch/i386/bits/syscall.h.in @@ -384,4 +384,38 @@ #define __NR_arch_prctl 384 #define __NR_io_pgetevents 385 #define __NR_rseq 386 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in index 89cf114c..c7859b99 100644 --- a/arch/m68k/bits/syscall.h.in +++ b/arch/m68k/bits/syscall.h.in @@ -359,3 +359,42 @@ #define __NR_preadv2 377 #define __NR_pwritev2 378 #define __NR_statx 379 +#define __NR_seccomp 380 +#define __NR_pkey_mprotect 381 +#define __NR_pkey_alloc 382 +#define __NR_pkey_free 383 +#define __NR_rseq 384 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in index f0583961..91bc244e 100644 --- a/arch/microblaze/bits/syscall.h.in +++ b/arch/microblaze/bits/syscall.h.in @@ -395,4 +395,28 @@ #define __NR_statx 398 #define __NR_io_pgetevents 399 #define __NR_rseq 400 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in index be8c3207..6175a7c2 100644 --- a/arch/mips/bits/syscall.h.in +++ b/arch/mips/bits/syscall.h.in @@ -366,4 +366,38 @@ #define __NR_statx 4366 #define __NR_rseq 4367 #define __NR_io_pgetevents 4368 +#define __NR_semget 4393 +#define __NR_semctl 4394 +#define __NR_shmget 4395 +#define __NR_shmctl 4396 +#define __NR_shmat 4397 +#define __NR_shmdt 4398 +#define __NR_msgget 4399 +#define __NR_msgsnd 4400 +#define __NR_msgrcv 4401 +#define __NR_msgctl 4402 +#define __NR_clock_gettime64 4403 +#define __NR_clock_settime64 4404 +#define __NR_clock_adjtime64 4405 +#define __NR_clock_getres_time64 4406 +#define __NR_clock_nanosleep_time64 4407 +#define __NR_timer_gettime64 4408 +#define __NR_timer_settime64 4409 +#define __NR_timerfd_gettime64 4410 +#define __NR_timerfd_settime64 4411 +#define __NR_utimensat_time64 4412 +#define __NR_pselect6_time64 4413 +#define __NR_ppoll_time64 4414 +#define __NR_io_pgetevents_time64 4416 +#define __NR_recvmmsg_time64 4417 +#define __NR_mq_timedsend_time64 4418 +#define __NR_mq_timedreceive_time64 4419 +#define __NR_semtimedop_time64 4420 +#define __NR_rt_sigtimedwait_time64 4421 +#define __NR_futex_time64 4422 +#define __NR_sched_rr_get_interval_time64 4423 +#define __NR_pidfd_send_signal 4424 +#define __NR_io_uring_setup 4425 +#define __NR_io_uring_enter 4426 +#define __NR_io_uring_register 4427 diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in index 9eebbb6a..ca99e453 100644 --- a/arch/mips64/bits/syscall.h.in +++ b/arch/mips64/bits/syscall.h.in @@ -326,4 +326,8 @@ #define __NR_statx 5326 #define __NR_rseq 5327 #define __NR_io_pgetevents 5328 +#define __NR_pidfd_send_signal 5424 +#define __NR_io_uring_setup 5425 +#define __NR_io_uring_enter 5426 +#define __NR_io_uring_register 5427 diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in index c1726180..f31ee446 100644 --- a/arch/mipsn32/bits/syscall.h.in +++ b/arch/mipsn32/bits/syscall.h.in @@ -330,4 +330,28 @@ #define __NR_statx 6330 #define __NR_rseq 6331 #define __NR_io_pgetevents 6332 +#define __NR_clock_gettime64 6403 +#define __NR_clock_settime64 6404 +#define __NR_clock_adjtime64 6405 +#define __NR_clock_getres_time64 6406 +#define __NR_clock_nanosleep_time64 6407 +#define __NR_timer_gettime64 6408 +#define __NR_timer_settime64 6409 +#define __NR_timerfd_gettime64 6410 +#define __NR_timerfd_settime64 6411 +#define __NR_utimensat_time64 6412 +#define __NR_pselect6_time64 6413 +#define __NR_ppoll_time64 6414 +#define __NR_io_pgetevents_time64 6416 +#define __NR_recvmmsg_time64 6417 +#define __NR_mq_timedsend_time64 6418 +#define __NR_mq_timedreceive_time64 6419 +#define __NR_semtimedop_time64 6420 +#define __NR_rt_sigtimedwait_time64 6421 +#define __NR_futex_time64 6422 +#define __NR_sched_rr_get_interval_time64 6423 +#define __NR_pidfd_send_signal 6424 +#define __NR_io_uring_setup 6425 +#define __NR_io_uring_enter 6426 +#define __NR_io_uring_register 6427 diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in index 4c3df0a3..33a86861 100644 --- a/arch/or1k/bits/syscall.h.in +++ b/arch/or1k/bits/syscall.h.in @@ -279,4 +279,28 @@ #define __NR_io_pgetevents 292 #define __NR_rseq 293 #define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in index 54e155f2..0a6c9add 100644 --- a/arch/powerpc/bits/syscall.h.in +++ b/arch/powerpc/bits/syscall.h.in @@ -373,4 +373,38 @@ #define __NR_pkey_mprotect 386 #define __NR_rseq 387 #define __NR_io_pgetevents 388 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in index 4e29cedf..0c894a23 100644 --- a/arch/powerpc64/bits/syscall.h.in +++ b/arch/powerpc64/bits/syscall.h.in @@ -364,4 +364,19 @@ #define __NR_pkey_mprotect 386 #define __NR_rseq 387 #define __NR_io_pgetevents 388 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/s390x/bits/syscall.h.in b/arch/s390x/bits/syscall.h.in index 85a18e79..72fd2cce 100644 --- a/arch/s390x/bits/syscall.h.in +++ b/arch/s390x/bits/syscall.h.in @@ -326,4 +326,22 @@ #define __NR_kexec_file_load 381 #define __NR_io_pgetevents 382 #define __NR_rseq 383 +#define __NR_pkey_mprotect 384 +#define __NR_pkey_alloc 385 +#define __NR_pkey_free 386 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in index 420f4a0f..ad35fc64 100644 --- a/arch/sh/bits/syscall.h.in +++ b/arch/sh/bits/syscall.h.in @@ -352,4 +352,43 @@ #define __NR_copy_file_range 380 #define __NR_preadv2 381 #define __NR_pwritev2 382 +#define __NR_statx 383 +#define __NR_pkey_mprotect 384 +#define __NR_pkey_alloc 385 +#define __NR_pkey_free 386 +#define __NR_rseq 387 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in index 67d89f91..77ec432f 100644 --- a/arch/x32/bits/syscall.h.in +++ b/arch/x32/bits/syscall.h.in @@ -286,6 +286,10 @@ #define __NR_statx (0x40000000 + 332) #define __NR_io_pgetevents (0x40000000 + 333) #define __NR_rseq (0x40000000 + 334) +#define __NR_pidfd_send_signal (0x40000000 + 424) +#define __NR_io_uring_setup (0x40000000 + 425) +#define __NR_io_uring_enter (0x40000000 + 426) +#define __NR_io_uring_register (0x40000000 + 427) #define __NR_rt_sigaction (0x40000000 + 512) #define __NR_rt_sigreturn (0x40000000 + 513) diff --git a/arch/x86_64/bits/syscall.h.in b/arch/x86_64/bits/syscall.h.in index 9cdb7789..49572ef2 100644 --- a/arch/x86_64/bits/syscall.h.in +++ b/arch/x86_64/bits/syscall.h.in @@ -333,4 +333,8 @@ #define __NR_statx 332 #define __NR_io_pgetevents 333 #define __NR_rseq 334 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 -- 2.21.0 --J/dobhs11T7y2rNN--