* [PATCH] parisc: Wire up clone3 syscall
@ 2019-07-15 20:33 Helge Deller
2019-07-16 13:01 ` Christian Brauner
0 siblings, 1 reply; 2+ messages in thread
From: Helge Deller @ 2019-07-15 20:33 UTC (permalink / raw)
To: linux-parisc; +Cc: Christian Brauner
Untested patch to wire up the clone3 syscall.
Signed-off-by: Helge Deller <deller@gmx.de>
diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h
index b0838dc4dfee..cd438e4150f6 100644
--- a/arch/parisc/include/asm/unistd.h
+++ b/arch/parisc/include/asm/unistd.h
@@ -166,6 +166,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
+#define __ARCH_WANT_SYS_CLONE3
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
#ifdef CONFIG_64BIT
diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
index 3e430590c1e1..d9d3387f7c47 100644
--- a/arch/parisc/kernel/entry.S
+++ b/arch/parisc/kernel/entry.S
@@ -1732,6 +1732,7 @@ ENDPROC_CFI(sys_\name\()_wrapper)
.endm
fork_like clone
+fork_like clone3
fork_like fork
fork_like vfork
diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
index 5022b9e179c2..670d1371aca1 100644
--- a/arch/parisc/kernel/syscalls/syscall.tbl
+++ b/arch/parisc/kernel/syscalls/syscall.tbl
@@ -431,3 +431,4 @@
432 common fsmount sys_fsmount
433 common fspick sys_fspick
434 common pidfd_open sys_pidfd_open
+435 common clone3 sys_clone3_wrapper
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] parisc: Wire up clone3 syscall
2019-07-15 20:33 [PATCH] parisc: Wire up clone3 syscall Helge Deller
@ 2019-07-16 13:01 ` Christian Brauner
0 siblings, 0 replies; 2+ messages in thread
From: Christian Brauner @ 2019-07-16 13:01 UTC (permalink / raw)
To: Helge Deller; +Cc: linux-parisc, arnd
On Mon, Jul 15, 2019 at 10:33:26PM +0200, Helge Deller wrote:
> Untested patch to wire up the clone3 syscall.
From what I can see from your entry points the treatment for fork and
clone the relevant bit is:
.macro fork_like name
ENTRY_CFI(sys_\name\()_wrapper)
LDREG TI_TASK-THREAD_SZ_ALGN-FRAME_SIZE(%r30), %r1
ldo TASK_REGS(%r1),%r1
reg_save %r1
mfctl %cr27, %r28
ldil L%sys_\name, %r31
be R%sys_\name(%sr4,%r31)
STREG %r28, PT_CR27(%r1)
ENDPROC_CFI(sys_\name\()_wrapper)
.endm
Which seems to be identical for fork(), vfork(), and clone().
So parisc doesn't seem to have to muck with any clone-specific args. If
that's the case things should be fine for clone3 on parisc. I only
expect issues for arches that need to shove around specific arguments
for clone.
>
> Signed-off-by: Helge Deller <deller@gmx.de>
>
> diff --git a/arch/parisc/include/asm/unistd.h b/arch/parisc/include/asm/unistd.h
> index b0838dc4dfee..cd438e4150f6 100644
> --- a/arch/parisc/include/asm/unistd.h
> +++ b/arch/parisc/include/asm/unistd.h
> @@ -166,6 +166,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
> #define __ARCH_WANT_SYS_FORK
> #define __ARCH_WANT_SYS_VFORK
> #define __ARCH_WANT_SYS_CLONE
> +#define __ARCH_WANT_SYS_CLONE3
> #define __ARCH_WANT_COMPAT_SYS_SENDFILE
>
> #ifdef CONFIG_64BIT
> diff --git a/arch/parisc/kernel/entry.S b/arch/parisc/kernel/entry.S
> index 3e430590c1e1..d9d3387f7c47 100644
> --- a/arch/parisc/kernel/entry.S
> +++ b/arch/parisc/kernel/entry.S
> @@ -1732,6 +1732,7 @@ ENDPROC_CFI(sys_\name\()_wrapper)
> .endm
>
> fork_like clone
> +fork_like clone3
> fork_like fork
> fork_like vfork
>
> diff --git a/arch/parisc/kernel/syscalls/syscall.tbl b/arch/parisc/kernel/syscalls/syscall.tbl
> index 5022b9e179c2..670d1371aca1 100644
> --- a/arch/parisc/kernel/syscalls/syscall.tbl
> +++ b/arch/parisc/kernel/syscalls/syscall.tbl
> @@ -431,3 +431,4 @@
> 432 common fsmount sys_fsmount
> 433 common fspick sys_fspick
> 434 common pidfd_open sys_pidfd_open
> +435 common clone3 sys_clone3_wrapper
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-07-16 13:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-15 20:33 [PATCH] parisc: Wire up clone3 syscall Helge Deller
2019-07-16 13:01 ` Christian Brauner
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).