MIPS: Wire up clone3 syscall
Wire up the new clone3 syscall for MIPS, using save_static_function() to generate a wrapper that saves registers $s0-$s7 prior to invoking the generic sys_clone3 function just like we do for plain old clone. Tested atop 64r6el_defconfig using o32, n32 & n64 builds of the simple test program from: https://lore.kernel.org/lkml/20190716130631.tohj4ub54md25dys@brauner.io/ Signed-off-by: Paul Burton <paul.burton@mips.com> Cc: Christian Brauner <christian@brauner.io> Acked-by: Christian Brauner <christian.brauner@ubuntu.com> Cc: linux-mips@vger.kernel.org
This commit is contained in:
parent
0228ecf612
commit
0671c5b84e
|
@ -52,6 +52,7 @@
|
|||
# endif
|
||||
#define __ARCH_WANT_SYS_FORK
|
||||
#define __ARCH_WANT_SYS_CLONE
|
||||
#define __ARCH_WANT_SYS_CLONE3
|
||||
|
||||
/* whitelists for checksyscalls */
|
||||
#define __IGNORE_fadvise64_64
|
||||
|
|
|
@ -80,6 +80,7 @@ SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len,
|
|||
|
||||
save_static_function(sys_fork);
|
||||
save_static_function(sys_clone);
|
||||
save_static_function(sys_clone3);
|
||||
|
||||
SYSCALL_DEFINE1(set_thread_area, unsigned long, addr)
|
||||
{
|
||||
|
|
|
@ -373,4 +373,4 @@
|
|||
432 n32 fsmount sys_fsmount
|
||||
433 n32 fspick sys_fspick
|
||||
434 n32 pidfd_open sys_pidfd_open
|
||||
# 435 reserved for clone3
|
||||
435 n32 clone3 __sys_clone3
|
||||
|
|
|
@ -349,4 +349,4 @@
|
|||
432 n64 fsmount sys_fsmount
|
||||
433 n64 fspick sys_fspick
|
||||
434 n64 pidfd_open sys_pidfd_open
|
||||
# 435 reserved for clone3
|
||||
435 n64 clone3 __sys_clone3
|
||||
|
|
|
@ -422,4 +422,4 @@
|
|||
432 o32 fsmount sys_fsmount
|
||||
433 o32 fspick sys_fspick
|
||||
434 o32 pidfd_open sys_pidfd_open
|
||||
# 435 reserved for clone3
|
||||
435 o32 clone3 __sys_clone3
|
||||
|
|
Loading…
Reference in New Issue