mailing list of musl libc
 help / color / mirror / code / Atom feed
* [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).