diff mbox series

[v4,6/6] wire up syscalls for statmount/listmount

Message ID 20231025140205.3586473-7-mszeredi@redhat.com (mailing list archive)
State New, archived
Headers show
Series querying mount attributes | expand

Commit Message

Miklos Szeredi Oct. 25, 2023, 2:02 p.m. UTC
Wire up all archs.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
---
 arch/alpha/kernel/syscalls/syscall.tbl      | 3 +++
 arch/arm/tools/syscall.tbl                  | 3 +++
 arch/arm64/include/asm/unistd32.h           | 4 ++++
 arch/ia64/kernel/syscalls/syscall.tbl       | 3 +++
 arch/m68k/kernel/syscalls/syscall.tbl       | 3 +++
 arch/microblaze/kernel/syscalls/syscall.tbl | 3 +++
 arch/mips/kernel/syscalls/syscall_n32.tbl   | 3 +++
 arch/mips/kernel/syscalls/syscall_n64.tbl   | 3 +++
 arch/mips/kernel/syscalls/syscall_o32.tbl   | 3 +++
 arch/parisc/kernel/syscalls/syscall.tbl     | 3 +++
 arch/powerpc/kernel/syscalls/syscall.tbl    | 3 +++
 arch/s390/kernel/syscalls/syscall.tbl       | 3 +++
 arch/sh/kernel/syscalls/syscall.tbl         | 3 +++
 arch/sparc/kernel/syscalls/syscall.tbl      | 3 +++
 arch/x86/entry/syscalls/syscall_32.tbl      | 3 +++
 arch/x86/entry/syscalls/syscall_64.tbl      | 2 ++
 arch/xtensa/kernel/syscalls/syscall.tbl     | 3 +++
 include/uapi/asm-generic/unistd.h           | 8 +++++++-
 18 files changed, 58 insertions(+), 1 deletion(-)

Comments

Florian Fainelli Jan. 9, 2024, 1:11 a.m. UTC | #1
Hello,

On 10/25/23 07:02, Miklos Szeredi wrote:
> Wire up all archs.
> 
> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
> ---
>   arch/alpha/kernel/syscalls/syscall.tbl      | 3 +++
>   arch/arm/tools/syscall.tbl                  | 3 +++
>   arch/arm64/include/asm/unistd32.h           | 4 ++++
>   arch/ia64/kernel/syscalls/syscall.tbl       | 3 +++
>   arch/m68k/kernel/syscalls/syscall.tbl       | 3 +++
>   arch/microblaze/kernel/syscalls/syscall.tbl | 3 +++
>   arch/mips/kernel/syscalls/syscall_n32.tbl   | 3 +++
>   arch/mips/kernel/syscalls/syscall_n64.tbl   | 3 +++
>   arch/mips/kernel/syscalls/syscall_o32.tbl   | 3 +++
>   arch/parisc/kernel/syscalls/syscall.tbl     | 3 +++
>   arch/powerpc/kernel/syscalls/syscall.tbl    | 3 +++
>   arch/s390/kernel/syscalls/syscall.tbl       | 3 +++
>   arch/sh/kernel/syscalls/syscall.tbl         | 3 +++
>   arch/sparc/kernel/syscalls/syscall.tbl      | 3 +++
>   arch/x86/entry/syscalls/syscall_32.tbl      | 3 +++
>   arch/x86/entry/syscalls/syscall_64.tbl      | 2 ++
>   arch/xtensa/kernel/syscalls/syscall.tbl     | 3 +++
>   include/uapi/asm-generic/unistd.h           | 8 +++++++-
>   18 files changed, 58 insertions(+), 1 deletion(-)

FWIW, this broke the compat build on ARM64:

./arch/arm64/include/asm/unistd32.h:922:24: error: array index in 
initializer exceeds array bounds
   922 | #define __NR_statmount 457
       |                        ^~~
arch/arm64/kernel/sys32.c:130:34: note: in definition of macro '__SYSCALL'
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                  ^~
./arch/arm64/include/asm/unistd32.h:923:11: note: in expansion of macro 
'__NR_statmount'
   923 | __SYSCALL(__NR_statmount, sys_statmount)
       |           ^~~~~~~~~~~~~~
./arch/arm64/include/asm/unistd32.h:922:24: note: (near initialization 
for 'compat_sys_call_table')
   922 | #define __NR_statmount 457
       |                        ^~~
arch/arm64/kernel/sys32.c:130:34: note: in definition of macro '__SYSCALL'
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                  ^~
./arch/arm64/include/asm/unistd32.h:923:11: note: in expansion of macro 
'__NR_statmount'
   923 | __SYSCALL(__NR_statmount, sys_statmount)
       |           ^~~~~~~~~~~~~~
arch/arm64/kernel/sys32.c:130:40: warning: excess elements in array 
initializer
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                        ^~~~~~~~
./arch/arm64/include/asm/unistd32.h:923:1: note: in expansion of macro 
'__SYSCALL'
   923 | __SYSCALL(__NR_statmount, sys_statmount)
       | ^~~~~~~~~
arch/arm64/kernel/sys32.c:130:40: note: (near initialization for 
'compat_sys_call_table')
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                        ^~~~~~~~
./arch/arm64/include/asm/unistd32.h:923:1: note: in expansion of macro 
'__SYSCALL'
   923 | __SYSCALL(__NR_statmount, sys_statmount)
       | ^~~~~~~~~
./arch/arm64/include/asm/unistd32.h:924:24: error: array index in 
initializer exceeds array bounds
   924 | #define __NR_listmount 458
       |                        ^~~
arch/arm64/kernel/sys32.c:130:34: note: in definition of macro '__SYSCALL'
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                  ^~
./arch/arm64/include/asm/unistd32.h:925:11: note: in expansion of macro 
'__NR_listmount'
   925 | __SYSCALL(__NR_listmount, sys_listmount)
       |           ^~~~~~~~~~~~~~
./arch/arm64/include/asm/unistd32.h:924:24: note: (near initialization 
for 'compat_sys_call_table')
   924 | #define __NR_listmount 458
       |                        ^~~
arch/arm64/kernel/sys32.c:130:34: note: in definition of macro '__SYSCALL'
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                  ^~
./arch/arm64/include/asm/unistd32.h:925:11: note: in expansion of macro 
'__NR_listmount'
   925 | __SYSCALL(__NR_listmount, sys_listmount)
       |           ^~~~~~~~~~~~~~
arch/arm64/kernel/sys32.c:130:40: warning: excess elements in array 
initializer
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                        ^~~~~~~~
./arch/arm64/include/asm/unistd32.h:925:1: note: in expansion of macro 
'__SYSCALL'
   925 | __SYSCALL(__NR_listmount, sys_listmount)
       | ^~~~~~~~~
arch/arm64/kernel/sys32.c:130:40: note: (near initialization for 
'compat_sys_call_table')
   130 | #define __SYSCALL(nr, sym)      [nr] = __arm64_##sym,
       |                                        ^~~~~~~~
./arch/arm64/include/asm/unistd32.h:925:1: note: in expansion of macro 
'__SYSCALL'
   925 | __SYSCALL(__NR_listmount, sys_listmount)
       | ^~~~~~~~~
host-make[5]: *** [scripts/Makefile.build:243: 
arch/arm64/kernel/sys32.o] Error 1
host-make[4]: *** [scripts/Makefile.build:480: arch/arm64/kernel] Error 2
host-make[3]: *** [scripts/Makefile.build:480: arch/arm64] Error 2
host-make[3]: *** Waiting for unfinished jobs....

Sent out a fix for that:

https://lore.kernel.org/all/20240109010906.429652-1-florian.fainelli@broadcom.com/
diff mbox series

Patch

diff --git a/arch/alpha/kernel/syscalls/syscall.tbl b/arch/alpha/kernel/syscalls/syscall.tbl
index ad37569d0507..6c23bf68eff0 100644
--- a/arch/alpha/kernel/syscalls/syscall.tbl
+++ b/arch/alpha/kernel/syscalls/syscall.tbl
@@ -492,3 +492,6 @@ 
 560	common	set_mempolicy_home_node		sys_ni_syscall
 561	common	cachestat			sys_cachestat
 562	common	fchmodat2			sys_fchmodat2
+# 563 reserved for map_shadow_stack
+564	common	statmount			sys_statmount
+565	common	listmount			sys_listmount
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
index c572d6c3dee0..d110a832899b 100644
--- a/arch/arm/tools/syscall.tbl
+++ b/arch/arm/tools/syscall.tbl
@@ -466,3 +466,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/arm64/include/asm/unistd32.h b/arch/arm64/include/asm/unistd32.h
index 78b68311ec81..b0a994c9ff3c 100644
--- a/arch/arm64/include/asm/unistd32.h
+++ b/arch/arm64/include/asm/unistd32.h
@@ -911,6 +911,10 @@  __SYSCALL(__NR_set_mempolicy_home_node, sys_set_mempolicy_home_node)
 __SYSCALL(__NR_cachestat, sys_cachestat)
 #define __NR_fchmodat2 452
 __SYSCALL(__NR_fchmodat2, sys_fchmodat2)
+#define __NR_statmount 454
+__SYSCALL(__NR_statmount, sys_statmount)
+#define __NR_listmount 455
+__SYSCALL(__NR_listmount, sys_listmount)
 
 /*
  * 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 83d8609aec03..c5f45a8fc834 100644
--- a/arch/ia64/kernel/syscalls/syscall.tbl
+++ b/arch/ia64/kernel/syscalls/syscall.tbl
@@ -373,3 +373,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/m68k/kernel/syscalls/syscall.tbl b/arch/m68k/kernel/syscalls/syscall.tbl
index 259ceb125367..b9cabb746487 100644
--- a/arch/m68k/kernel/syscalls/syscall.tbl
+++ b/arch/m68k/kernel/syscalls/syscall.tbl
@@ -452,3 +452,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/microblaze/kernel/syscalls/syscall.tbl b/arch/microblaze/kernel/syscalls/syscall.tbl
index a3798c2637fd..89c4ed548ce8 100644
--- a/arch/microblaze/kernel/syscalls/syscall.tbl
+++ b/arch/microblaze/kernel/syscalls/syscall.tbl
@@ -458,3 +458,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/mips/kernel/syscalls/syscall_n32.tbl b/arch/mips/kernel/syscalls/syscall_n32.tbl
index 152034b8e0a0..a9d561698fe2 100644
--- a/arch/mips/kernel/syscalls/syscall_n32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n32.tbl
@@ -391,3 +391,6 @@ 
 450	n32	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	n32	cachestat			sys_cachestat
 452	n32	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	n32	statmount			sys_statmount
+455	n32	listmount			sys_listmount
diff --git a/arch/mips/kernel/syscalls/syscall_n64.tbl b/arch/mips/kernel/syscalls/syscall_n64.tbl
index cb5e757f6621..80a056866da7 100644
--- a/arch/mips/kernel/syscalls/syscall_n64.tbl
+++ b/arch/mips/kernel/syscalls/syscall_n64.tbl
@@ -367,3 +367,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	n64	cachestat			sys_cachestat
 452	n64	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	n64	statmount			sys_statmount
+455	n64	listmount			sys_listmount
diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 1a646813afdc..139ddc691176 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -440,3 +440,6 @@ 
 450	o32	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	o32	cachestat			sys_cachestat
 452	o32	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	o32	statmount			sys_statmount
+455	o32	listmount			sys_listmount
diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
index e97c175b56f9..46fa753f0d64 100644
--- a/arch/parisc/kernel/syscalls/syscall.tbl
+++ b/arch/parisc/kernel/syscalls/syscall.tbl
@@ -451,3 +451,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/powerpc/kernel/syscalls/syscall.tbl b/arch/powerpc/kernel/syscalls/syscall.tbl
index 20e50586e8a2..106937744525 100644
--- a/arch/powerpc/kernel/syscalls/syscall.tbl
+++ b/arch/powerpc/kernel/syscalls/syscall.tbl
@@ -539,3 +539,6 @@ 
 450 	nospu	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/s390/kernel/syscalls/syscall.tbl b/arch/s390/kernel/syscalls/syscall.tbl
index 0122cc156952..57dd9202f8d7 100644
--- a/arch/s390/kernel/syscalls/syscall.tbl
+++ b/arch/s390/kernel/syscalls/syscall.tbl
@@ -455,3 +455,6 @@ 
 450  common	set_mempolicy_home_node	sys_set_mempolicy_home_node	sys_set_mempolicy_home_node
 451  common	cachestat		sys_cachestat			sys_cachestat
 452  common	fchmodat2		sys_fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454  common	statmount		sys_statmount			sys_statmount
+455  common	listmount		sys_listmount			sys_listmount
diff --git a/arch/sh/kernel/syscalls/syscall.tbl b/arch/sh/kernel/syscalls/syscall.tbl
index e90d585c4d3e..0c7407a0e32c 100644
--- a/arch/sh/kernel/syscalls/syscall.tbl
+++ b/arch/sh/kernel/syscalls/syscall.tbl
@@ -455,3 +455,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/sparc/kernel/syscalls/syscall.tbl b/arch/sparc/kernel/syscalls/syscall.tbl
index 4ed06c71c43f..a0fd36469478 100644
--- a/arch/sparc/kernel/syscalls/syscall.tbl
+++ b/arch/sparc/kernel/syscalls/syscall.tbl
@@ -498,3 +498,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/arch/x86/entry/syscalls/syscall_32.tbl b/arch/x86/entry/syscalls/syscall_32.tbl
index 2d0b1bd866ea..4f41977bd4c1 100644
--- a/arch/x86/entry/syscalls/syscall_32.tbl
+++ b/arch/x86/entry/syscalls/syscall_32.tbl
@@ -457,3 +457,6 @@ 
 450	i386	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	i386	cachestat		sys_cachestat
 452	i386	fchmodat2		sys_fchmodat2
+# 563 reserved for map_shadow_stack
+454	i386	statmount		sys_statmount
+455	i386	listmount		sys_listmount
diff --git a/arch/x86/entry/syscalls/syscall_64.tbl b/arch/x86/entry/syscalls/syscall_64.tbl
index 1d6eee30eceb..a1b3ce7d22cc 100644
--- a/arch/x86/entry/syscalls/syscall_64.tbl
+++ b/arch/x86/entry/syscalls/syscall_64.tbl
@@ -375,6 +375,8 @@ 
 451	common	cachestat		sys_cachestat
 452	common	fchmodat2		sys_fchmodat2
 453	64	map_shadow_stack	sys_map_shadow_stack
+454	common	statmount		sys_statmount
+455	common	listmount		sys_listmount
 
 #
 # 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 fc1a4f3c81d9..73378984702b 100644
--- a/arch/xtensa/kernel/syscalls/syscall.tbl
+++ b/arch/xtensa/kernel/syscalls/syscall.tbl
@@ -423,3 +423,6 @@ 
 450	common	set_mempolicy_home_node		sys_set_mempolicy_home_node
 451	common	cachestat			sys_cachestat
 452	common	fchmodat2			sys_fchmodat2
+# 453 reserved for map_shadow_stack
+454	common	statmount			sys_statmount
+455	common	listmount			sys_listmount
diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h
index abe087c53b4b..8df6a747e21a 100644
--- a/include/uapi/asm-generic/unistd.h
+++ b/include/uapi/asm-generic/unistd.h
@@ -823,8 +823,14 @@  __SYSCALL(__NR_cachestat, sys_cachestat)
 #define __NR_fchmodat2 452
 __SYSCALL(__NR_fchmodat2, sys_fchmodat2)
 
+#define __NR_statmount   454
+__SYSCALL(__NR_statmount, sys_statmount)
+
+#define __NR_listmount   455
+__SYSCALL(__NR_listmount, sys_listmount)
+
 #undef __NR_syscalls
-#define __NR_syscalls 453
+#define __NR_syscalls 456
 
 /*
  * 32 bit systems traditionally used different