--- v16
+++ v15
@@ -10,11 +10,8 @@
Reviewed-by: Thibaut Sautereau <thibaut.sautereau@ssi.gouv.fr>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Kees Cook <keescook@chromium.org>
-Link: https://lore.kernel.org/r/20211110190626.257017-3-mic@digikod.net
+Link: https://lore.kernel.org/r/20211012192410.2356090-3-mic@digikod.net
---
-
-Changes since v15:
-* Update syscall IDs to align with the new futex_waitv.
Changes since v13:
* Add Reviewed-by Kees Cook.
@@ -36,227 +33,214 @@
* Increase syscall numbers by 2 to leave space for new ones (in
linux-next): watch_mount(2) and process_madvise(2).
---
- arch/alpha/kernel/syscalls/syscall.tbl | 2 ++
+ arch/alpha/kernel/syscalls/syscall.tbl | 1 +
arch/arm/tools/syscall.tbl | 1 +
arch/arm64/include/asm/unistd.h | 2 +-
arch/arm64/include/asm/unistd32.h | 2 ++
- arch/ia64/kernel/syscalls/syscall.tbl | 2 ++
- arch/m68k/kernel/syscalls/syscall.tbl | 2 ++
- arch/microblaze/kernel/syscalls/syscall.tbl | 2 ++
- arch/mips/kernel/syscalls/syscall_n32.tbl | 2 ++
- arch/mips/kernel/syscalls/syscall_n64.tbl | 2 ++
- arch/mips/kernel/syscalls/syscall_o32.tbl | 2 ++
- arch/parisc/kernel/syscalls/syscall.tbl | 2 ++
- arch/powerpc/kernel/syscalls/syscall.tbl | 2 ++
- arch/s390/kernel/syscalls/syscall.tbl | 2 ++
- arch/sh/kernel/syscalls/syscall.tbl | 2 ++
- arch/sparc/kernel/syscalls/syscall.tbl | 2 ++
+ arch/ia64/kernel/syscalls/syscall.tbl | 1 +
+ arch/m68k/kernel/syscalls/syscall.tbl | 1 +
+ arch/microblaze/kernel/syscalls/syscall.tbl | 1 +
+ arch/mips/kernel/syscalls/syscall_n32.tbl | 1 +
+ arch/mips/kernel/syscalls/syscall_n64.tbl | 1 +
+ arch/mips/kernel/syscalls/syscall_o32.tbl | 1 +
+ arch/parisc/kernel/syscalls/syscall.tbl | 1 +
+ arch/powerpc/kernel/syscalls/syscall.tbl | 1 +
+ arch/s390/kernel/syscalls/syscall.tbl | 1 +
+ arch/sh/kernel/syscalls/syscall.tbl | 1 +
+ arch/sparc/kernel/syscalls/syscall.tbl | 1 +
arch/x86/entry/syscalls/syscall_32.tbl | 1 +
arch/x86/entry/syscalls/syscall_64.tbl | 1 +
- arch/xtensa/kernel/syscalls/syscall.tbl | 2 ++
+ arch/xtensa/kernel/syscalls/syscall.tbl | 1 +
include/uapi/asm-generic/unistd.h | 4 +++-
- 19 files changed, 35 insertions(+), 2 deletions(-)
+ 19 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
-index e4a041cd5715..7943ed6455a2 100644
+index e4a041cd5715..ee33f1631f6d 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
-@@ -488,3 +488,5 @@
+@@ -488,3 +488,4 @@
556 common landlock_restrict_self sys_landlock_restrict_self
# 557 reserved for memfd_secret
558 common process_mrelease sys_process_mrelease
-+# 559 reserved for futex_waitv
-+560 common trusted_for sys_trusted_for
++559 common trusted_for sys_trusted_for
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
-index 543100151f2b..ccfd831bcb96 100644
+index e842209e135d..93edcdeda698 100644
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
-@@ -463,3 +463,4 @@
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
- 449 common futex_waitv sys_futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -462,3 +462,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/arm64/include/asm/unistd.h b/arch/arm64/include/asm/unistd.h
-index 6bdb5f5db438..4e65da3445c7 100644
+index 3cb206aea3db..6bdb5f5db438 100644
--- a/arch/arm64/include/asm/unistd.h
+++ b/arch/arm64/include/asm/unistd.h
@@ -38,7 +38,7 @@
#define __ARM_NR_compat_set_tls (__ARM_NR_COMPAT_BASE + 5)
#define __ARM_NR_COMPAT_END (__ARM_NR_COMPAT_BASE + 0x800)
--#define __NR_compat_syscalls 450
-+#define __NR_compat_syscalls 451
+-#define __NR_compat_syscalls 449
++#define __NR_compat_syscalls 450
#endif
#define __ARCH_WANT_SYS_CLONE
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
-index 41ea1195e44b..0e69743609ff 100644
+index 844f6ae58662..3cb7df3a441c 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
-@@ -905,6 +905,8 @@ __SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
+@@ -903,6 +903,8 @@ __SYSCALL(__NR_landlock_add_rule, sys_landlock_add_rule)
+ __SYSCALL(__NR_landlock_restrict_self, sys_landlock_restrict_self)
+ #define __NR_process_mrelease 448
__SYSCALL(__NR_process_mrelease, sys_process_mrelease)
- #define __NR_futex_waitv 449
- __SYSCALL(__NR_futex_waitv, sys_futex_waitv)
-+#define __NR_trusted_for 450
++#define __NR_trusted_for 449
+__SYSCALL(__NR_trusted_for, sys_trusted_for)
/*
* Please add new compat syscalls above this comment and update
diff --git a/arch/ia64/kernel/syscalls/syscall.tbl b/arch/ia64/kernel/syscalls/syscall.tbl
-index 6fea1844fb95..362c1e837bd6 100644
+index 6fea1844fb95..50970d778005 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
-@@ -369,3 +369,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -369,3 +369,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
-index 7976dff8f879..90306947817d 100644
+index 7976dff8f879..caee4759d9f4 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
-@@ -448,3 +448,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -448,3 +448,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/microblaze/kernel/syscalls/syscall.tbl b/arch/microblaze/kernel/syscalls/syscall.tbl
-index 6b0e11362bd2..8b19bbdaaf70 100644
+index 6b0e11362bd2..25761d27aa9e 100644
--- a/arch/microblaze/kernel/syscalls/syscall.tbl
+++ b/arch/microblaze/kernel/syscalls/syscall.tbl
-@@ -454,3 +454,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -454,3 +454,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl
-index 70e32de2bcaa..1a84e8d1c776 100644
+index 70e32de2bcaa..5e61c18fa3df 100644
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n32.tbl
-@@ -387,3 +387,5 @@
+@@ -387,3 +387,4 @@
446 n32 landlock_restrict_self sys_landlock_restrict_self
# 447 reserved for memfd_secret
448 n32 process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 n32 trusted_for sys_trusted_for
++449 n32 trusted_for sys_trusted_for
diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
-index 1ca7bc337932..ced3db574de3 100644
+index 1ca7bc337932..9a4928032039 100644
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
-@@ -363,3 +363,5 @@
+@@ -363,3 +363,4 @@
446 n64 landlock_restrict_self sys_landlock_restrict_self
# 447 reserved for memfd_secret
448 n64 process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 n64 trusted_for sys_trusted_for
++449 n64 trusted_for sys_trusted_for
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
-index a61c35edaa74..94b77adc6165 100644
+index a61c35edaa74..7fd966e720c2 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
-@@ -436,3 +436,5 @@
+@@ -436,3 +436,4 @@
446 o32 landlock_restrict_self sys_landlock_restrict_self
# 447 reserved for memfd_secret
448 o32 process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 o32 trusted_for sys_trusted_for
++449 o32 trusted_for sys_trusted_for
diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
-index bf751e0732b7..11de0c191a0e 100644
+index bf751e0732b7..b43fe303922c 100644
--- a/arch/parisc/kernel/syscalls/syscall.tbl
+++ b/arch/parisc/kernel/syscalls/syscall.tbl
-@@ -446,3 +446,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -446,3 +446,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
-index 7bef917cc84e..b7337d3843a7 100644
+index 7bef917cc84e..0de4795a4f85 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
-@@ -528,3 +528,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -528,3 +528,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
-index df5261e5cfe1..98bab648cda6 100644
+index df5261e5cfe1..b524343bb67d 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
-@@ -451,3 +451,5 @@
+@@ -451,3 +451,4 @@
446 common landlock_restrict_self sys_landlock_restrict_self sys_landlock_restrict_self
# 447 reserved for memfd_secret
448 common process_mrelease sys_process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for sys_trusted_for
++449 common trusted_for sys_trusted_for sys_trusted_for
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
-index 208f131659c5..88c6cb3de23b 100644
+index 208f131659c5..d4c925d83129 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
-@@ -451,3 +451,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -451,3 +451,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
-index c37764dc764d..b0db960c5897 100644
+index c37764dc764d..158bf1b028ac 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
-@@ -494,3 +494,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -494,3 +494,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
-index 7e25543693de..2f230c04f8a7 100644
+index 960a021d543e..a9eda13c86cd 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
-@@ -454,3 +454,4 @@
+@@ -453,3 +453,4 @@
+ 446 i386 landlock_restrict_self sys_landlock_restrict_self
447 i386 memfd_secret sys_memfd_secret
448 i386 process_mrelease sys_process_mrelease
- 449 i386 futex_waitv sys_futex_waitv
-+450 i386 trusted_for sys_trusted_for
++449 i386 trusted_for sys_trusted_for
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
-index fe8f8dd157b4..678ab13ee1c1 100644
+index 18b5500ea8bf..c352f1b200ee 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
-@@ -371,6 +371,7 @@
+@@ -370,6 +370,7 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
447 common memfd_secret sys_memfd_secret
448 common process_mrelease sys_process_mrelease
- 449 common futex_waitv sys_futex_waitv
-+450 common trusted_for sys_trusted_for
++449 common trusted_for sys_trusted_for
#
# Due to a historical design error, certain syscalls are numbered differently
diff --git a/arch/xtensa/kernel/syscalls/syscall.tbl b/arch/xtensa/kernel/syscalls/syscall.tbl
-index 104b327f8ac9..9dab1dfffc95 100644
+index 104b327f8ac9..f26a1313a055 100644
--- a/arch/xtensa/kernel/syscalls/syscall.tbl
+++ b/arch/xtensa/kernel/syscalls/syscall.tbl
-@@ -419,3 +419,5 @@
- 446 common landlock_restrict_self sys_landlock_restrict_self
- # 447 reserved for memfd_secret
- 448 common process_mrelease sys_process_mrelease
-+# 449 reserved for futex_waitv
-+450 common trusted_for sys_trusted_for
+@@ -419,3 +419,4 @@
+ 446 common landlock_restrict_self sys_landlock_restrict_self
+ # 447 reserved for memfd_secret
+ 448 common process_mrelease sys_process_mrelease
++449 common trusted_for sys_trusted_for
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
-index 4557a8b6086f..ded7a49616f2 100644
+index 1c5fb86d455a..67b4bebe7c87 100644
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
-@@ -882,9 +882,11 @@ __SYSCALL(__NR_process_mrelease, sys_process_mrelease)
-
- #define __NR_futex_waitv 449
- __SYSCALL(__NR_futex_waitv, sys_futex_waitv)
-+#define __NR_trusted_for 450
+@@ -879,9 +879,11 @@ __SYSCALL(__NR_memfd_secret, sys_memfd_secret)
+ #endif
+ #define __NR_process_mrelease 448
+ __SYSCALL(__NR_process_mrelease, sys_process_mrelease)
++#define __NR_trusted_for 449
+__SYSCALL(__NR_trusted_for, sys_trusted_for)
#undef __NR_syscalls
--#define __NR_syscalls 450
-+#define __NR_syscalls 451
+-#define __NR_syscalls 449
++#define __NR_syscalls 450
/*
* 32 bit systems traditionally used different