* [PATCH 0/7] updates for linux v5.2
@ 2019-08-20 10:31 Szabolcs Nagy
2019-08-20 19:12 ` Rich Felker
0 siblings, 1 reply; 3+ messages in thread
From: Szabolcs Nagy @ 2019-08-20 10:31 UTC (permalink / raw)
To: musl
[-- Attachment #1: Type: text/plain, Size: 1465 bytes --]
last patch is not ready for commit, included for completeness.
Szabolcs Nagy (7):
netinet/if_ether.h: add ETH_P_DSA_8021Q from linux v5.2
sched.h: add CLONE_PIDFD from linux v5.2
fcntl.h: add existing linux specific AT_ definitions
fcntl.h: add AT_RECURSIVE from linux v5.2
add new syscall numbers from linux v5.2
aarch64: add HWCAP2 flags from linux v5.2
sys/ioctl.h: add time_t abi related ioctls from linux v5.2
arch/aarch64/bits/hwcap.h | 8 ++++++++
arch/aarch64/bits/syscall.h.in | 6 ++++++
arch/arm/bits/syscall.h.in | 6 ++++++
arch/i386/bits/syscall.h.in | 6 ++++++
arch/m68k/bits/syscall.h.in | 6 ++++++
arch/microblaze/bits/syscall.h.in | 6 ++++++
arch/mips/bits/syscall.h.in | 6 ++++++
arch/mips64/bits/syscall.h.in | 6 ++++++
arch/mipsn32/bits/syscall.h.in | 6 ++++++
arch/or1k/bits/syscall.h.in | 6 ++++++
arch/powerpc/bits/syscall.h.in | 6 ++++++
arch/powerpc64/bits/syscall.h.in | 6 ++++++
arch/riscv64/bits/syscall.h.in | 7 +++++++
arch/s390x/bits/syscall.h.in | 6 ++++++
arch/sh/bits/syscall.h.in | 6 ++++++
arch/x32/bits/syscall.h.in | 6 ++++++
arch/x86_64/bits/syscall.h.in | 6 ++++++
include/fcntl.h | 10 ++++++++++
include/netinet/if_ether.h | 1 +
include/sched.h | 1 +
include/sys/ioctl.h | 5 +++++
21 files changed, 122 insertions(+)
--
2.21.0
[-- Attachment #2: 0001-netinet-if_ether.h-add-ETH_P_DSA_8021Q-from-linux-v5.patch --]
[-- Type: text/x-diff, Size: 829 bytes --]
From 00ba9e1b85882e9420d6188099820de1c982b518 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 17:37:48 +0000
Subject: [PATCH 1/7] netinet/if_ether.h: add ETH_P_DSA_8021Q from linux v5.2
ethertype for fake VLAN header for DSA, see
linux commit bf5bc3ce8a8f32a0d45b6820ede8f9fc3e9c23df
ether: Add dedicated Ethertype for pseudo-802.1Q DSA tagging
---
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 ecd6c73c..8af47dbe 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -76,6 +76,7 @@
#define ETH_P_QINQ2 0x9200
#define ETH_P_QINQ3 0x9300
#define ETH_P_EDSA 0xDADA
+#define ETH_P_DSA_8021Q 0xDADB
#define ETH_P_IFE 0xED3E
#define ETH_P_AF_IUCV 0xFBFB
--
2.21.0
[-- Attachment #3: 0002-sched.h-add-CLONE_PIDFD-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 805 bytes --]
From c9df1957cd87e195fe0939fbea98b4415d3d28f8 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 17:57:42 +0000
Subject: [PATCH 2/7] sched.h: add CLONE_PIDFD from linux v5.2
when set a pidfd is stored in parent_tidptr, see
linux commit b3e5838252665ee4cfa76b82bdf1198dca81e5be
clone: add CLONE_PIDFD
---
include/sched.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sched.h b/include/sched.h
index 674bad7f..7e470d3a 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -49,6 +49,7 @@ int sched_yield(void);
#define CLONE_FS 0x00000200
#define CLONE_FILES 0x00000400
#define CLONE_SIGHAND 0x00000800
+#define CLONE_PIDFD 0x00001000
#define CLONE_PTRACE 0x00002000
#define CLONE_VFORK 0x00004000
#define CLONE_PARENT 0x00008000
--
2.21.0
[-- Attachment #4: 0003-fcntl.h-add-existing-linux-specific-AT_-definitions.patch --]
[-- Type: text/x-diff, Size: 1180 bytes --]
From d93bcfff5a73a15025723c4b8f76cac5f4145c0e Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:21:47 +0000
Subject: [PATCH 3/7] fcntl.h: add existing linux specific AT_ definitions
AT_NO_AUTOMOUNT: suppress terminal automount traversal
AT_EMPTY_PATH: allow empty relative pathname
AT_STATX_SYNC_TYPE: statx sync flag
AT_STATX_SYNC_AS_STAT: statx sync flag
AT_STATX_FORCE_SYNC: statx sync flag
AT_STATX_DONT_SYNC: statx sync flag
follow glibc which exposes these under _GNU_SOURCE.
---
include/fcntl.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/fcntl.h b/include/fcntl.h
index af293405..51ec7efa 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -63,6 +63,15 @@ int posix_fallocate(int, off_t, off_t);
#define AT_SYMLINK_FOLLOW 0x400
#define AT_EACCESS 0x200
+#ifdef _GNU_SOURCE
+#define AT_NO_AUTOMOUNT 0x800
+#define AT_EMPTY_PATH 0x1000
+#define AT_STATX_SYNC_TYPE 0x6000
+#define AT_STATX_SYNC_AS_STAT 0x0000
+#define AT_STATX_FORCE_SYNC 0x2000
+#define AT_STATX_DONT_SYNC 0x4000
+#endif
+
#define POSIX_FADV_NORMAL 0
#define POSIX_FADV_RANDOM 1
#define POSIX_FADV_SEQUENTIAL 2
--
2.21.0
[-- Attachment #5: 0004-fcntl.h-add-AT_RECURSIVE-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 833 bytes --]
From fa84c5d014bd698d5ce1d42641c0734b044f2dbc Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:30:00 +0000
Subject: [PATCH 4/7] fcntl.h: add AT_RECURSIVE from linux v5.2
apply open_tree with OPEN_TREE_CLONE call to the entire subtree, see
linux commit a07b20004793d8926f78d63eb5980559f7813404
vfs: syscall: Add open_tree(2) to reference or clone a mount
---
include/fcntl.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/fcntl.h b/include/fcntl.h
index 51ec7efa..1dba20c2 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -70,6 +70,7 @@ int posix_fallocate(int, off_t, off_t);
#define AT_STATX_SYNC_AS_STAT 0x0000
#define AT_STATX_FORCE_SYNC 0x2000
#define AT_STATX_DONT_SYNC 0x4000
+#define AT_RECURSIVE 0x8000
#endif
#define POSIX_FADV_NORMAL 0
--
2.21.0
[-- Attachment #6: 0005-add-new-syscall-numbers-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 10099 bytes --]
From 0d098fb03b47a1005ff841fa74cb017f2f79baf1 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:48:35 +0000
Subject: [PATCH 5/7] add new syscall numbers from linux v5.2
new mount api syscalls were added, same numers on all targets, see
linux commit a07b20004793d8926f78d63eb5980559f7813404
vfs: syscall: Add open_tree(2) to reference or clone a mount
linux commit 2db154b3ea8e14b04fee23e3fdfd5e9d17fbc6ae
vfs: syscall: Add move_mount(2) to move mounts around
linux commit 24dcb3d90a1f67fe08c68a004af37df059d74005
vfs: syscall: Add fsopen() to prepare for superblock creation
linux commit ecdab150fddb42fe6a739335257949220033b782
vfs: syscall: Add fsconfig() for configuring and managing a context
linux commit 93766fbd2696c2c4453dd8e1070977e9cd4e6b6d
vfs: syscall: Add fsmount() to create a mount for a superblock
linux commit cf3cba4a429be43e5527a3f78859b1bfd9ebc5fb
vfs: syscall: Add fspick() to select a superblock for reconfiguration
linux commit 9c8ad7a2ff0bfe58f019ec0abc1fb965114dde7d
uapi, x86: Fix the syscall numbering of the mount API syscalls [ver #2]
linux commit d8076bdb56af5e5918376cd1573a6b0007fc1a89
uapi: Wire up the mount API syscalls on non-x86 arches [ver #2]
---
arch/aarch64/bits/syscall.h.in | 6 ++++++
arch/arm/bits/syscall.h.in | 6 ++++++
arch/i386/bits/syscall.h.in | 6 ++++++
arch/m68k/bits/syscall.h.in | 6 ++++++
arch/microblaze/bits/syscall.h.in | 6 ++++++
arch/mips/bits/syscall.h.in | 6 ++++++
arch/mips64/bits/syscall.h.in | 6 ++++++
arch/mipsn32/bits/syscall.h.in | 6 ++++++
arch/or1k/bits/syscall.h.in | 6 ++++++
arch/powerpc/bits/syscall.h.in | 6 ++++++
arch/powerpc64/bits/syscall.h.in | 6 ++++++
arch/riscv64/bits/syscall.h.in | 7 +++++++
arch/s390x/bits/syscall.h.in | 6 ++++++
arch/sh/bits/syscall.h.in | 6 ++++++
arch/x32/bits/syscall.h.in | 6 ++++++
arch/x86_64/bits/syscall.h.in | 6 ++++++
16 files changed, 97 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index eed5a612..955e2cab 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -281,4 +281,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 8ce1d70a..a565a4ee 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -381,6 +381,12 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
#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 fdfdc710..c95e108e 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -418,4 +418,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index c7859b99..fb522b48 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -398,3 +398,9 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 91bc244e..59f86236 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -419,4 +419,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 6175a7c2..582fa3b5 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -400,4 +400,10 @@
#define __NR_io_uring_setup 4425
#define __NR_io_uring_enter 4426
#define __NR_io_uring_register 4427
+#define __NR_open_tree 4428
+#define __NR_move_mount 4429
+#define __NR_fsopen 4430
+#define __NR_fsconfig 4431
+#define __NR_fsmount 4432
+#define __NR_fspick 4433
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index ca99e453..34b9752e 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -330,4 +330,10 @@
#define __NR_io_uring_setup 5425
#define __NR_io_uring_enter 5426
#define __NR_io_uring_register 5427
+#define __NR_open_tree 5428
+#define __NR_move_mount 5429
+#define __NR_fsopen 5430
+#define __NR_fsconfig 5431
+#define __NR_fsmount 5432
+#define __NR_fspick 5433
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index f31ee446..d80cafa8 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -354,4 +354,10 @@
#define __NR_io_uring_setup 6425
#define __NR_io_uring_enter 6426
#define __NR_io_uring_register 6427
+#define __NR_open_tree 6428
+#define __NR_move_mount 6429
+#define __NR_fsopen 6430
+#define __NR_fsconfig 6431
+#define __NR_fsmount 6432
+#define __NR_fspick 6433
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 33a86861..8ffcfae8 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -303,4 +303,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 0a6c9add..adcf63db 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -407,4 +407,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 0c894a23..32545b39 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -379,4 +379,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
index 0de1278b..1db70cfb 100644
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -281,5 +281,12 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+
#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 72fd2cce..c4c70474 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -344,4 +344,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index ad35fc64..4705ef93 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -391,4 +391,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 77ec432f..4d72852e 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -290,6 +290,12 @@
#define __NR_io_uring_setup (0x40000000 + 425)
#define __NR_io_uring_enter (0x40000000 + 426)
#define __NR_io_uring_register (0x40000000 + 427)
+#define __NR_open_tree (0x40000000 + 428)
+#define __NR_move_mount (0x40000000 + 429)
+#define __NR_fsopen (0x40000000 + 430)
+#define __NR_fsconfig (0x40000000 + 431)
+#define __NR_fsmount (0x40000000 + 432)
+#define __NR_fspick (0x40000000 + 433)
#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 49572ef2..2d4634f6 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -337,4 +337,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
--
2.21.0
[-- Attachment #7: 0006-aarch64-add-HWCAP2-flags-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 1029 bytes --]
From 738d427c7a5887c171072150fea3e2d2cf50cd2e Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Tue, 20 Aug 2019 10:20:03 +0000
Subject: [PATCH 6/7] aarch64: add HWCAP2 flags from linux v5.2
AT_HWCAP2 flags, see
linux commit 671db581815faf17cbedd7fcbc48823a247d90b1
arm64: Expose DC CVADP to userspace
linux commit 06a916feca2b262ab0c1a2aeb68882f4b1108a07
arm64: Expose SVE2 features for userspace
---
arch/aarch64/bits/hwcap.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h
index ad670914..a7484028 100644
--- a/arch/aarch64/bits/hwcap.h
+++ b/arch/aarch64/bits/hwcap.h
@@ -30,3 +30,11 @@
#define HWCAP_SB (1 << 29)
#define HWCAP_PACA (1 << 30)
#define HWCAP_PACG (1UL << 31)
+
+#define HWCAP2_DCPODP (1 << 0)
+#define HWCAP2_SVE2 (1 << 1)
+#define HWCAP2_SVEAES (1 << 2)
+#define HWCAP2_SVEPMULL (1 << 3)
+#define HWCAP2_SVEBITPERM (1 << 4)
+#define HWCAP2_SVESHA3 (1 << 5)
+#define HWCAP2_SVESM4 (1 << 6)
--
2.21.0
[-- Attachment #8: 0007-sys-ioctl.h-add-time_t-abi-related-ioctls-from-linux.patch --]
[-- Type: text/x-diff, Size: 1069 bytes --]
From 41f792f83ea6fcd009651e718e36db80f8153f52 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 19:26:08 +0000
Subject: [PATCH 7/7] sys/ioctl.h: add time_t abi related ioctls from linux
v5.2
TODO: this is similar to the uncommitted linux v5.1 SO_TIMESTAMP_{NEW,OLD}
socket option changes.
instead of explicit number, the _IOR macro is used, so same definition
works on mips and powerpc (and the long long[2] type is available
without header includes)
---
include/sys/ioctl.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h
index 372e3ddc..73245afa 100644
--- a/include/sys/ioctl.h
+++ b/include/sys/ioctl.h
@@ -116,6 +116,11 @@ struct winsize {
#define SIOCDEVPRIVATE 0x89F0
#define SIOCPROTOPRIVATE 0x89E0
+#define SIOCGSTAMP_OLD SIOCGSTAMP
+#define SIOCGSTAMPNS_OLD SIOCGSTAMPNS
+#define SIOCGSTAMP_NEW _IOR(0x89, 0x06, long long[2])
+#define SIOCGSTAMPNS_NEW _IOR(0x89, 0x07, long long[2])
+
int ioctl (int, int, ...);
#ifdef __cplusplus
--
2.21.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 0/7] updates for linux v5.2
2019-08-20 10:31 [PATCH 0/7] updates for linux v5.2 Szabolcs Nagy
@ 2019-08-20 19:12 ` Rich Felker
2019-08-20 20:17 ` Szabolcs Nagy
0 siblings, 1 reply; 3+ messages in thread
From: Rich Felker @ 2019-08-20 19:12 UTC (permalink / raw)
To: musl
On Tue, Aug 20, 2019 at 12:31:39PM +0200, Szabolcs Nagy wrote:
> From d93bcfff5a73a15025723c4b8f76cac5f4145c0e Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Mon, 12 Aug 2019 18:21:47 +0000
> Subject: [PATCH 3/7] fcntl.h: add existing linux specific AT_ definitions
>
> AT_NO_AUTOMOUNT: suppress terminal automount traversal
> AT_EMPTY_PATH: allow empty relative pathname
> AT_STATX_SYNC_TYPE: statx sync flag
> AT_STATX_SYNC_AS_STAT: statx sync flag
> AT_STATX_FORCE_SYNC: statx sync flag
> AT_STATX_DONT_SYNC: statx sync flag
>
> follow glibc which exposes these under _GNU_SOURCE.
> ---
> include/fcntl.h | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/include/fcntl.h b/include/fcntl.h
> index af293405..51ec7efa 100644
> --- a/include/fcntl.h
> +++ b/include/fcntl.h
> @@ -63,6 +63,15 @@ int posix_fallocate(int, off_t, off_t);
> #define AT_SYMLINK_FOLLOW 0x400
> #define AT_EACCESS 0x200
>
> +#ifdef _GNU_SOURCE
> +#define AT_NO_AUTOMOUNT 0x800
> +#define AT_EMPTY_PATH 0x1000
> +#define AT_STATX_SYNC_TYPE 0x6000
> +#define AT_STATX_SYNC_AS_STAT 0x0000
> +#define AT_STATX_FORCE_SYNC 0x2000
> +#define AT_STATX_DONT_SYNC 0x4000
> +#endif
> +
We already have the first two, under BSD||GNU. Note that non-exposure
under plain POSIX is not a choice here; AT_* is (perhaps wrongly, by
oversight) not in the reserved namespace for fcntl.h.
I'm not sure if GNU-only is better than BSD||GNU; my leaning is
towards keeping the latter.
> From 0d098fb03b47a1005ff841fa74cb017f2f79baf1 Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Mon, 12 Aug 2019 18:48:35 +0000
> Subject: [PATCH 5/7] add new syscall numbers from linux v5.2
>
> new mount api syscalls were added, same numers on all targets, see
>
> linux commit a07b20004793d8926f78d63eb5980559f7813404
> vfs: syscall: Add open_tree(2) to reference or clone a mount
>
> linux commit 2db154b3ea8e14b04fee23e3fdfd5e9d17fbc6ae
> vfs: syscall: Add move_mount(2) to move mounts around
>
> linux commit 24dcb3d90a1f67fe08c68a004af37df059d74005
> vfs: syscall: Add fsopen() to prepare for superblock creation
>
> linux commit ecdab150fddb42fe6a739335257949220033b782
> vfs: syscall: Add fsconfig() for configuring and managing a context
>
> linux commit 93766fbd2696c2c4453dd8e1070977e9cd4e6b6d
> vfs: syscall: Add fsmount() to create a mount for a superblock
>
> linux commit cf3cba4a429be43e5527a3f78859b1bfd9ebc5fb
> vfs: syscall: Add fspick() to select a superblock for reconfiguration
>
> linux commit 9c8ad7a2ff0bfe58f019ec0abc1fb965114dde7d
> uapi, x86: Fix the syscall numbering of the mount API syscalls [ver #2]
>
> linux commit d8076bdb56af5e5918376cd1573a6b0007fc1a89
> uapi: Wire up the mount API syscalls on non-x86 arches [ver #2]
> ---
> arch/aarch64/bits/syscall.h.in | 6 ++++++
> arch/arm/bits/syscall.h.in | 6 ++++++
> arch/i386/bits/syscall.h.in | 6 ++++++
> arch/m68k/bits/syscall.h.in | 6 ++++++
> arch/microblaze/bits/syscall.h.in | 6 ++++++
> arch/mips/bits/syscall.h.in | 6 ++++++
> arch/mips64/bits/syscall.h.in | 6 ++++++
> arch/mipsn32/bits/syscall.h.in | 6 ++++++
> arch/or1k/bits/syscall.h.in | 6 ++++++
> arch/powerpc/bits/syscall.h.in | 6 ++++++
> arch/powerpc64/bits/syscall.h.in | 6 ++++++
> arch/riscv64/bits/syscall.h.in | 7 +++++++
> arch/s390x/bits/syscall.h.in | 6 ++++++
> arch/sh/bits/syscall.h.in | 6 ++++++
> arch/x32/bits/syscall.h.in | 6 ++++++
> arch/x86_64/bits/syscall.h.in | 6 ++++++
> 16 files changed, 97 insertions(+)
>
> diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
> index eed5a612..955e2cab 100644
> --- a/arch/aarch64/bits/syscall.h.in
> +++ b/arch/aarch64/bits/syscall.h.in
> @@ -281,4 +281,10 @@
> #define __NR_io_uring_setup 425
> #define __NR_io_uring_enter 426
> #define __NR_io_uring_register 427
> +#define __NR_open_tree 428
> +#define __NR_move_mount 429
> +#define __NR_fsopen 430
> +#define __NR_fsconfig 431
> +#define __NR_fsmount 432
> +#define __NR_fspick 433
> [...]
I think this is okay for now, but now that Linux has unified syscall
numbers for all future syscalls, I wonder if we should add a
bits/syscall_common.h or something that defines all the common ones in
terms of some base macro, so that we don't have O(nm) growth here.
Just a comment on possible future enhancement so the thought is
recorded somewhere.
> From 41f792f83ea6fcd009651e718e36db80f8153f52 Mon Sep 17 00:00:00 2001
> From: Szabolcs Nagy <nsz@port70.net>
> Date: Mon, 12 Aug 2019 19:26:08 +0000
> Subject: [PATCH 7/7] sys/ioctl.h: add time_t abi related ioctls from linux
> v5.2
>
> TODO: this is similar to the uncommitted linux v5.1 SO_TIMESTAMP_{NEW,OLD}
> socket option changes.
>
> instead of explicit number, the _IOR macro is used, so same definition
> works on mips and powerpc (and the long long[2] type is available
> without header includes)
> ---
> include/sys/ioctl.h | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/include/sys/ioctl.h b/include/sys/ioctl.h
> index 372e3ddc..73245afa 100644
> --- a/include/sys/ioctl.h
> +++ b/include/sys/ioctl.h
> @@ -116,6 +116,11 @@ struct winsize {
> #define SIOCDEVPRIVATE 0x89F0
> #define SIOCPROTOPRIVATE 0x89E0
>
> +#define SIOCGSTAMP_OLD SIOCGSTAMP
> +#define SIOCGSTAMPNS_OLD SIOCGSTAMPNS
> +#define SIOCGSTAMP_NEW _IOR(0x89, 0x06, long long[2])
> +#define SIOCGSTAMPNS_NEW _IOR(0x89, 0x07, long long[2])
> +
> int ioctl (int, int, ...);
As before, the _OLD/_NEW names aren't needed for userspace. Rather the
definition of the unadorned macro has to be changed from the old value
to the new one when the time64 switchover happens (missing from the
RFC/POC i386 commit in the "final time64 switch-over patch series"
thread -- this needs fixing). The _OLD versions are already defined
privately in arch/*/syscall_arch.h for 32-bit archs since commit
2e554617e5a6a41bf3f6c6306c753cd53abf728c, so ioctl.c can use them for
translation.
Also, I don't think it matters whether the _IOR macro is used or not
since the naive switchover will require per-arch ioctl bits for all
32-bit archs, but maybe we can come up with a way to share some of the
bits stuff between them and prevent introduction of new redundancy.
Thoughts?
Rich
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 0/7] updates for linux v5.2
2019-08-20 19:12 ` Rich Felker
@ 2019-08-20 20:17 ` Szabolcs Nagy
0 siblings, 0 replies; 3+ messages in thread
From: Szabolcs Nagy @ 2019-08-20 20:17 UTC (permalink / raw)
To: musl
[-- Attachment #1: Type: text/plain, Size: 1586 bytes --]
* Rich Felker <dalias@libc.org> [2019-08-20 15:12:21 -0400]:
> We already have the first two, under BSD||GNU. Note that non-exposure
> under plain POSIX is not a choice here; AT_* is (perhaps wrongly, by
> oversight) not in the reserved namespace for fcntl.h.
>
> I'm not sure if GNU-only is better than BSD||GNU; my leaning is
> towards keeping the latter.
ok.
> I think this is okay for now, but now that Linux has unified syscall
> numbers for all future syscalls, I wonder if we should add a
> bits/syscall_common.h or something that defines all the common ones in
> terms of some base macro, so that we don't have O(nm) growth here.
yes that would be useful.
> As before, the _OLD/_NEW names aren't needed for userspace. Rather the
> definition of the unadorned macro has to be changed from the old value
> to the new one when the time64 switchover happens (missing from the
> RFC/POC i386 commit in the "final time64 switch-over patch series"
> thread -- this needs fixing). The _OLD versions are already defined
> privately in arch/*/syscall_arch.h for 32-bit archs since commit
> 2e554617e5a6a41bf3f6c6306c753cd53abf728c, so ioctl.c can use them for
> translation.
ok.
> Also, I don't think it matters whether the _IOR macro is used or not
> since the naive switchover will require per-arch ioctl bits for all
> 32-bit archs, but maybe we can come up with a way to share some of the
> bits stuff between them and prevent introduction of new redundancy.
> Thoughts?
i see.
v2:
- AT_STATX_* are moved under _BSD_SOURCE|_GNU_SOURCE
- time_t related ioctl patch is dropped
[-- Attachment #2: 0001-netinet-if_ether.h-add-ETH_P_DSA_8021Q-from-linux-v5.patch --]
[-- Type: text/x-diff, Size: 829 bytes --]
From 00ba9e1b85882e9420d6188099820de1c982b518 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 17:37:48 +0000
Subject: [PATCH 1/6] netinet/if_ether.h: add ETH_P_DSA_8021Q from linux v5.2
ethertype for fake VLAN header for DSA, see
linux commit bf5bc3ce8a8f32a0d45b6820ede8f9fc3e9c23df
ether: Add dedicated Ethertype for pseudo-802.1Q DSA tagging
---
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 ecd6c73c..8af47dbe 100644
--- a/include/netinet/if_ether.h
+++ b/include/netinet/if_ether.h
@@ -76,6 +76,7 @@
#define ETH_P_QINQ2 0x9200
#define ETH_P_QINQ3 0x9300
#define ETH_P_EDSA 0xDADA
+#define ETH_P_DSA_8021Q 0xDADB
#define ETH_P_IFE 0xED3E
#define ETH_P_AF_IUCV 0xFBFB
--
2.21.0
[-- Attachment #3: 0002-sched.h-add-CLONE_PIDFD-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 805 bytes --]
From c9df1957cd87e195fe0939fbea98b4415d3d28f8 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 17:57:42 +0000
Subject: [PATCH 2/6] sched.h: add CLONE_PIDFD from linux v5.2
when set a pidfd is stored in parent_tidptr, see
linux commit b3e5838252665ee4cfa76b82bdf1198dca81e5be
clone: add CLONE_PIDFD
---
include/sched.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/sched.h b/include/sched.h
index 674bad7f..7e470d3a 100644
--- a/include/sched.h
+++ b/include/sched.h
@@ -49,6 +49,7 @@ int sched_yield(void);
#define CLONE_FS 0x00000200
#define CLONE_FILES 0x00000400
#define CLONE_SIGHAND 0x00000800
+#define CLONE_PIDFD 0x00001000
#define CLONE_PTRACE 0x00002000
#define CLONE_VFORK 0x00004000
#define CLONE_PARENT 0x00008000
--
2.21.0
[-- Attachment #4: 0003-fcntl.h-add-AT_STATX_-statx-sync-flag-definitions.patch --]
[-- Type: text/x-diff, Size: 1014 bytes --]
From 6841e2ab8bc7966da53f6034e69c3a484b9ad5f3 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:21:47 +0000
Subject: [PATCH 3/6] fcntl.h: add AT_STATX_ statx sync flag definitions
see
linux commit a528d35e8bfcc521d7cb70aaf03e1bd296c8493f
statx: Add a system call to make enhanced file info available
these are linux specific and not reserved names for fcntl.h so they
are under _BSD_SOURCE|_GNU_SOURCE.
---
include/fcntl.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/include/fcntl.h b/include/fcntl.h
index af293405..6c793b28 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -100,6 +100,10 @@ int posix_fallocate(int, off_t, off_t);
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define AT_NO_AUTOMOUNT 0x800
#define AT_EMPTY_PATH 0x1000
+#define AT_STATX_SYNC_TYPE 0x6000
+#define AT_STATX_SYNC_AS_STAT 0x0000
+#define AT_STATX_FORCE_SYNC 0x2000
+#define AT_STATX_DONT_SYNC 0x4000
#define FAPPEND O_APPEND
#define FFSYNC O_SYNC
--
2.21.0
[-- Attachment #5: 0004-fcntl.h-add-AT_RECURSIVE-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 843 bytes --]
From f064b8c36b0552cb1f40ed5a0726891a09c39f21 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:30:00 +0000
Subject: [PATCH 4/6] fcntl.h: add AT_RECURSIVE from linux v5.2
apply open_tree with OPEN_TREE_CLONE call to the entire subtree, see
linux commit a07b20004793d8926f78d63eb5980559f7813404
vfs: syscall: Add open_tree(2) to reference or clone a mount
---
include/fcntl.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/fcntl.h b/include/fcntl.h
index 6c793b28..b664cdc4 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -104,6 +104,7 @@ int posix_fallocate(int, off_t, off_t);
#define AT_STATX_SYNC_AS_STAT 0x0000
#define AT_STATX_FORCE_SYNC 0x2000
#define AT_STATX_DONT_SYNC 0x4000
+#define AT_RECURSIVE 0x8000
#define FAPPEND O_APPEND
#define FFSYNC O_SYNC
--
2.21.0
[-- Attachment #6: 0005-add-new-syscall-numbers-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 10099 bytes --]
From 211c700f9d08cd425d3b3da6f20ef7d344993d8f Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Mon, 12 Aug 2019 18:48:35 +0000
Subject: [PATCH 5/6] add new syscall numbers from linux v5.2
new mount api syscalls were added, same numers on all targets, see
linux commit a07b20004793d8926f78d63eb5980559f7813404
vfs: syscall: Add open_tree(2) to reference or clone a mount
linux commit 2db154b3ea8e14b04fee23e3fdfd5e9d17fbc6ae
vfs: syscall: Add move_mount(2) to move mounts around
linux commit 24dcb3d90a1f67fe08c68a004af37df059d74005
vfs: syscall: Add fsopen() to prepare for superblock creation
linux commit ecdab150fddb42fe6a739335257949220033b782
vfs: syscall: Add fsconfig() for configuring and managing a context
linux commit 93766fbd2696c2c4453dd8e1070977e9cd4e6b6d
vfs: syscall: Add fsmount() to create a mount for a superblock
linux commit cf3cba4a429be43e5527a3f78859b1bfd9ebc5fb
vfs: syscall: Add fspick() to select a superblock for reconfiguration
linux commit 9c8ad7a2ff0bfe58f019ec0abc1fb965114dde7d
uapi, x86: Fix the syscall numbering of the mount API syscalls [ver #2]
linux commit d8076bdb56af5e5918376cd1573a6b0007fc1a89
uapi: Wire up the mount API syscalls on non-x86 arches [ver #2]
---
arch/aarch64/bits/syscall.h.in | 6 ++++++
arch/arm/bits/syscall.h.in | 6 ++++++
arch/i386/bits/syscall.h.in | 6 ++++++
arch/m68k/bits/syscall.h.in | 6 ++++++
arch/microblaze/bits/syscall.h.in | 6 ++++++
arch/mips/bits/syscall.h.in | 6 ++++++
arch/mips64/bits/syscall.h.in | 6 ++++++
arch/mipsn32/bits/syscall.h.in | 6 ++++++
arch/or1k/bits/syscall.h.in | 6 ++++++
arch/powerpc/bits/syscall.h.in | 6 ++++++
arch/powerpc64/bits/syscall.h.in | 6 ++++++
arch/riscv64/bits/syscall.h.in | 7 +++++++
arch/s390x/bits/syscall.h.in | 6 ++++++
arch/sh/bits/syscall.h.in | 6 ++++++
arch/x32/bits/syscall.h.in | 6 ++++++
arch/x86_64/bits/syscall.h.in | 6 ++++++
16 files changed, 97 insertions(+)
diff --git a/arch/aarch64/bits/syscall.h.in b/arch/aarch64/bits/syscall.h.in
index eed5a612..955e2cab 100644
--- a/arch/aarch64/bits/syscall.h.in
+++ b/arch/aarch64/bits/syscall.h.in
@@ -281,4 +281,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/arm/bits/syscall.h.in b/arch/arm/bits/syscall.h.in
index 8ce1d70a..a565a4ee 100644
--- a/arch/arm/bits/syscall.h.in
+++ b/arch/arm/bits/syscall.h.in
@@ -381,6 +381,12 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
#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 fdfdc710..c95e108e 100644
--- a/arch/i386/bits/syscall.h.in
+++ b/arch/i386/bits/syscall.h.in
@@ -418,4 +418,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/m68k/bits/syscall.h.in b/arch/m68k/bits/syscall.h.in
index c7859b99..fb522b48 100644
--- a/arch/m68k/bits/syscall.h.in
+++ b/arch/m68k/bits/syscall.h.in
@@ -398,3 +398,9 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/microblaze/bits/syscall.h.in b/arch/microblaze/bits/syscall.h.in
index 91bc244e..59f86236 100644
--- a/arch/microblaze/bits/syscall.h.in
+++ b/arch/microblaze/bits/syscall.h.in
@@ -419,4 +419,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/mips/bits/syscall.h.in b/arch/mips/bits/syscall.h.in
index 6175a7c2..582fa3b5 100644
--- a/arch/mips/bits/syscall.h.in
+++ b/arch/mips/bits/syscall.h.in
@@ -400,4 +400,10 @@
#define __NR_io_uring_setup 4425
#define __NR_io_uring_enter 4426
#define __NR_io_uring_register 4427
+#define __NR_open_tree 4428
+#define __NR_move_mount 4429
+#define __NR_fsopen 4430
+#define __NR_fsconfig 4431
+#define __NR_fsmount 4432
+#define __NR_fspick 4433
diff --git a/arch/mips64/bits/syscall.h.in b/arch/mips64/bits/syscall.h.in
index ca99e453..34b9752e 100644
--- a/arch/mips64/bits/syscall.h.in
+++ b/arch/mips64/bits/syscall.h.in
@@ -330,4 +330,10 @@
#define __NR_io_uring_setup 5425
#define __NR_io_uring_enter 5426
#define __NR_io_uring_register 5427
+#define __NR_open_tree 5428
+#define __NR_move_mount 5429
+#define __NR_fsopen 5430
+#define __NR_fsconfig 5431
+#define __NR_fsmount 5432
+#define __NR_fspick 5433
diff --git a/arch/mipsn32/bits/syscall.h.in b/arch/mipsn32/bits/syscall.h.in
index f31ee446..d80cafa8 100644
--- a/arch/mipsn32/bits/syscall.h.in
+++ b/arch/mipsn32/bits/syscall.h.in
@@ -354,4 +354,10 @@
#define __NR_io_uring_setup 6425
#define __NR_io_uring_enter 6426
#define __NR_io_uring_register 6427
+#define __NR_open_tree 6428
+#define __NR_move_mount 6429
+#define __NR_fsopen 6430
+#define __NR_fsconfig 6431
+#define __NR_fsmount 6432
+#define __NR_fspick 6433
diff --git a/arch/or1k/bits/syscall.h.in b/arch/or1k/bits/syscall.h.in
index 33a86861..8ffcfae8 100644
--- a/arch/or1k/bits/syscall.h.in
+++ b/arch/or1k/bits/syscall.h.in
@@ -303,4 +303,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/powerpc/bits/syscall.h.in b/arch/powerpc/bits/syscall.h.in
index 0a6c9add..adcf63db 100644
--- a/arch/powerpc/bits/syscall.h.in
+++ b/arch/powerpc/bits/syscall.h.in
@@ -407,4 +407,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/powerpc64/bits/syscall.h.in b/arch/powerpc64/bits/syscall.h.in
index 0c894a23..32545b39 100644
--- a/arch/powerpc64/bits/syscall.h.in
+++ b/arch/powerpc64/bits/syscall.h.in
@@ -379,4 +379,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/riscv64/bits/syscall.h.in b/arch/riscv64/bits/syscall.h.in
index 0de1278b..1db70cfb 100644
--- a/arch/riscv64/bits/syscall.h.in
+++ b/arch/riscv64/bits/syscall.h.in
@@ -281,5 +281,12 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
+
#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 72fd2cce..c4c70474 100644
--- a/arch/s390x/bits/syscall.h.in
+++ b/arch/s390x/bits/syscall.h.in
@@ -344,4 +344,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/sh/bits/syscall.h.in b/arch/sh/bits/syscall.h.in
index ad35fc64..4705ef93 100644
--- a/arch/sh/bits/syscall.h.in
+++ b/arch/sh/bits/syscall.h.in
@@ -391,4 +391,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
diff --git a/arch/x32/bits/syscall.h.in b/arch/x32/bits/syscall.h.in
index 77ec432f..4d72852e 100644
--- a/arch/x32/bits/syscall.h.in
+++ b/arch/x32/bits/syscall.h.in
@@ -290,6 +290,12 @@
#define __NR_io_uring_setup (0x40000000 + 425)
#define __NR_io_uring_enter (0x40000000 + 426)
#define __NR_io_uring_register (0x40000000 + 427)
+#define __NR_open_tree (0x40000000 + 428)
+#define __NR_move_mount (0x40000000 + 429)
+#define __NR_fsopen (0x40000000 + 430)
+#define __NR_fsconfig (0x40000000 + 431)
+#define __NR_fsmount (0x40000000 + 432)
+#define __NR_fspick (0x40000000 + 433)
#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 49572ef2..2d4634f6 100644
--- a/arch/x86_64/bits/syscall.h.in
+++ b/arch/x86_64/bits/syscall.h.in
@@ -337,4 +337,10 @@
#define __NR_io_uring_setup 425
#define __NR_io_uring_enter 426
#define __NR_io_uring_register 427
+#define __NR_open_tree 428
+#define __NR_move_mount 429
+#define __NR_fsopen 430
+#define __NR_fsconfig 431
+#define __NR_fsmount 432
+#define __NR_fspick 433
--
2.21.0
[-- Attachment #7: 0006-aarch64-add-HWCAP2-flags-from-linux-v5.2.patch --]
[-- Type: text/x-diff, Size: 1029 bytes --]
From f9a8191736c0b7e6b629b8409278887d3b0eb56f Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <nsz@port70.net>
Date: Tue, 20 Aug 2019 10:20:03 +0000
Subject: [PATCH 6/6] aarch64: add HWCAP2 flags from linux v5.2
AT_HWCAP2 flags, see
linux commit 671db581815faf17cbedd7fcbc48823a247d90b1
arm64: Expose DC CVADP to userspace
linux commit 06a916feca2b262ab0c1a2aeb68882f4b1108a07
arm64: Expose SVE2 features for userspace
---
arch/aarch64/bits/hwcap.h | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/aarch64/bits/hwcap.h b/arch/aarch64/bits/hwcap.h
index ad670914..a7484028 100644
--- a/arch/aarch64/bits/hwcap.h
+++ b/arch/aarch64/bits/hwcap.h
@@ -30,3 +30,11 @@
#define HWCAP_SB (1 << 29)
#define HWCAP_PACA (1 << 30)
#define HWCAP_PACG (1UL << 31)
+
+#define HWCAP2_DCPODP (1 << 0)
+#define HWCAP2_SVE2 (1 << 1)
+#define HWCAP2_SVEAES (1 << 2)
+#define HWCAP2_SVEPMULL (1 << 3)
+#define HWCAP2_SVEBITPERM (1 << 4)
+#define HWCAP2_SVESHA3 (1 << 5)
+#define HWCAP2_SVESM4 (1 << 6)
--
2.21.0
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-08-20 20:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-20 10:31 [PATCH 0/7] updates for linux v5.2 Szabolcs Nagy
2019-08-20 19:12 ` Rich Felker
2019-08-20 20:17 ` 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).