linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] OpenRISC clone3 support
@ 2020-02-26 22:56 Stafford Horne
  2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-26 22:56 UTC (permalink / raw)
  To: LKML, Openrisc; +Cc: Stafford Horne, Christian Brauner

This series fixes the clone3 not implemented warnings I have been seeing
during recent builds.  It was a simple case of implementing copy_thread_tls
and turning on clone3 generic support.  Testing shows no issues.

Stafford Horne (3):
  openrisc: Convert copy_thread to copy_thread_tls
  openrisc: Enable the clone3 syscall
  openrisc: Cleanup copy_thread_tls docs and comments

 arch/openrisc/Kconfig                   |  1 +
 arch/openrisc/include/uapi/asm/unistd.h |  1 +
 arch/openrisc/kernel/process.c          | 19 +++++++------------
 3 files changed, 9 insertions(+), 12 deletions(-)

-- 
2.21.0


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls
  2020-02-26 22:56 [PATCH 0/3] OpenRISC clone3 support Stafford Horne
@ 2020-02-26 22:56 ` Stafford Horne
  2020-02-27  0:31   ` Stafford Horne
  2020-02-27 12:19   ` Christian Brauner
  2020-02-26 22:56 ` [PATCH 2/3] openrisc: Enable the clone3 syscall Stafford Horne
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-26 22:56 UTC (permalink / raw)
  To: LKML, Openrisc
  Cc: Stafford Horne, Jonas Bonn, Stefan Kristiansson,
	Christian Brauner, Greg Kroah-Hartman, Thomas Gleixner,
	Allison Randal

This is required for clone3 which passes the TLS value through a
struct rather than a register.

Signed-off-by: Stafford Horne <shorne@gmail.com>
---
 arch/openrisc/Kconfig          |  1 +
 arch/openrisc/kernel/process.c | 15 +++++----------
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
index 1928e061ff96..5debdbe6fc35 100644
--- a/arch/openrisc/Kconfig
+++ b/arch/openrisc/Kconfig
@@ -14,6 +14,7 @@ config OPENRISC
 	select HANDLE_DOMAIN_IRQ
 	select GPIOLIB
 	select HAVE_ARCH_TRACEHOOK
+	select HAVE_COPY_THREAD_TLS
 	select SPARSE_IRQ
 	select GENERIC_IRQ_CHIP
 	select GENERIC_IRQ_PROBE
diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index b06f84f6676f..6695f167e126 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -117,12 +117,13 @@ void release_thread(struct task_struct *dead_task)
 extern asmlinkage void ret_from_fork(void);
 
 /*
- * copy_thread
+ * copy_thread_tls
  * @clone_flags: flags
  * @usp: user stack pointer or fn for kernel thread
  * @arg: arg to fn for kernel thread; always NULL for userspace thread
  * @p: the newly created task
  * @regs: CPU context to copy for userspace thread; always NULL for kthread
+ * @tls: the Thread Local Storate pointer for the new process
  *
  * At the top of a newly initialized kernel stack are two stacked pt_reg
  * structures.  The first (topmost) is the userspace context of the thread.
@@ -148,8 +149,8 @@ extern asmlinkage void ret_from_fork(void);
  */
 
 int
-copy_thread(unsigned long clone_flags, unsigned long usp,
-	    unsigned long arg, struct task_struct *p)
+copy_thread_tls(unsigned long clone_flags, unsigned long usp,
+		unsigned long arg, struct task_struct *p, unsigned long tls)
 {
 	struct pt_regs *userregs;
 	struct pt_regs *kregs;
@@ -180,15 +181,9 @@ copy_thread(unsigned long clone_flags, unsigned long usp,
 
 		/*
 		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed to sys_clone.
-		 *
-		 * The kernel entry is:
-		 *	int clone (long flags, void *child_stack, int *parent_tid,
-		 *		int *child_tid, struct void *tls)
-		 *
-		 * This makes the source r7 in the kernel registers.
 		 */
 		if (clone_flags & CLONE_SETTLS)
-			userregs->gpr[10] = userregs->gpr[7];
+			userregs->gpr[10] = tls;
 
 		userregs->gpr[11] = 0;	/* Result from fork() */
 
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 2/3] openrisc: Enable the clone3 syscall
  2020-02-26 22:56 [PATCH 0/3] OpenRISC clone3 support Stafford Horne
  2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
@ 2020-02-26 22:56 ` Stafford Horne
  2020-02-27 12:21   ` Christian Brauner
  2020-02-26 22:56 ` [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments Stafford Horne
  2020-02-27 12:26 ` [PATCH 0/3] OpenRISC clone3 support Christian Brauner
  3 siblings, 1 reply; 12+ messages in thread
From: Stafford Horne @ 2020-02-26 22:56 UTC (permalink / raw)
  To: LKML, Openrisc
  Cc: Stafford Horne, Jonas Bonn, Stefan Kristiansson, Christian Brauner

Enable the clone3 syscall for OpenRISC.  We use the generic version.

This was tested with the clone3 test from selftests.  Note, for all
tests to pass it required enabling CONFIG_NAMESPACES which is not
enabled in the default kernel config.

Signed-off-by: Stafford Horne <shorne@gmail.com>
---
 arch/openrisc/include/uapi/asm/unistd.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/openrisc/include/uapi/asm/unistd.h b/arch/openrisc/include/uapi/asm/unistd.h
index 566f8c4f8047..fae34c60fa88 100644
--- a/arch/openrisc/include/uapi/asm/unistd.h
+++ b/arch/openrisc/include/uapi/asm/unistd.h
@@ -24,6 +24,7 @@
 #define __ARCH_WANT_SET_GET_RLIMIT
 #define __ARCH_WANT_SYS_FORK
 #define __ARCH_WANT_SYS_CLONE
+#define __ARCH_WANT_SYS_CLONE3
 #define __ARCH_WANT_TIME32_SYSCALLS
 
 #include <asm-generic/unistd.h>
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments
  2020-02-26 22:56 [PATCH 0/3] OpenRISC clone3 support Stafford Horne
  2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
  2020-02-26 22:56 ` [PATCH 2/3] openrisc: Enable the clone3 syscall Stafford Horne
@ 2020-02-26 22:56 ` Stafford Horne
  2020-02-27 12:24   ` Christian Brauner
  2020-02-27 12:26 ` [PATCH 0/3] OpenRISC clone3 support Christian Brauner
  3 siblings, 1 reply; 12+ messages in thread
From: Stafford Horne @ 2020-02-26 22:56 UTC (permalink / raw)
  To: LKML, Openrisc
  Cc: Stafford Horne, Jonas Bonn, Stefan Kristiansson,
	Christian Brauner, Greg Kroah-Hartman, Thomas Gleixner,
	Allison Randal

Previously copy_thread_tls was copy_thread and before that something
else.  Remove the documentation about the regs parameter that didn't
exist in either version.

Next, fix comment wrapping and details about how TLS pointer gets to the
copy_thread_tls function.

Signed-off-by: Stafford Horne <shorne@gmail.com>
---
 arch/openrisc/kernel/process.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index 6695f167e126..b442e7b59e17 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -122,7 +122,6 @@ extern asmlinkage void ret_from_fork(void);
  * @usp: user stack pointer or fn for kernel thread
  * @arg: arg to fn for kernel thread; always NULL for userspace thread
  * @p: the newly created task
- * @regs: CPU context to copy for userspace thread; always NULL for kthread
  * @tls: the Thread Local Storate pointer for the new process
  *
  * At the top of a newly initialized kernel stack are two stacked pt_reg
@@ -180,7 +179,8 @@ copy_thread_tls(unsigned long clone_flags, unsigned long usp,
 			userregs->sp = usp;
 
 		/*
-		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed to sys_clone.
+		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed
+		 * in clone_args to sys_clone3.
 		 */
 		if (clone_flags & CLONE_SETTLS)
 			userregs->gpr[10] = tls;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls
  2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
@ 2020-02-27  0:31   ` Stafford Horne
  2020-02-27 12:19   ` Christian Brauner
  1 sibling, 0 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-27  0:31 UTC (permalink / raw)
  To: LKML, Openrisc
  Cc: Jonas Bonn, Stefan Kristiansson, Christian Brauner,
	Greg Kroah-Hartman, Thomas Gleixner, Allison Randal

On Thu, Feb 27, 2020 at 07:56:23AM +0900, Stafford Horne wrote:
> This is required for clone3 which passes the TLS value through a
> struct rather than a register.

[...]
 
> diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
> index b06f84f6676f..6695f167e126 100644
> --- a/arch/openrisc/kernel/process.c
> +++ b/arch/openrisc/kernel/process.c
> @@ -117,12 +117,13 @@ void release_thread(struct task_struct *dead_task)
>  extern asmlinkage void ret_from_fork(void);
>  
>  /*
> - * copy_thread
> + * copy_thread_tls
>   * @clone_flags: flags
>   * @usp: user stack pointer or fn for kernel thread
>   * @arg: arg to fn for kernel thread; always NULL for userspace thread
>   * @p: the newly created task
>   * @regs: CPU context to copy for userspace thread; always NULL for kthread
> + * @tls: the Thread Local Storate pointer for the new process

This should be *Storage*.
 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls
  2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
  2020-02-27  0:31   ` Stafford Horne
@ 2020-02-27 12:19   ` Christian Brauner
  2020-02-27 13:16     ` Stafford Horne
  1 sibling, 1 reply; 12+ messages in thread
From: Christian Brauner @ 2020-02-27 12:19 UTC (permalink / raw)
  To: Stafford Horne
  Cc: LKML, Openrisc, Jonas Bonn, Stefan Kristiansson,
	Christian Brauner, Greg Kroah-Hartman, Thomas Gleixner,
	Allison Randal

On Thu, Feb 27, 2020 at 07:56:23AM +0900, Stafford Horne wrote:
> This is required for clone3 which passes the TLS value through a
> struct rather than a register.
> 
> Signed-off-by: Stafford Horne <shorne@gmail.com>
> ---
>  arch/openrisc/Kconfig          |  1 +
>  arch/openrisc/kernel/process.c | 15 +++++----------
>  2 files changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> index 1928e061ff96..5debdbe6fc35 100644
> --- a/arch/openrisc/Kconfig
> +++ b/arch/openrisc/Kconfig
> @@ -14,6 +14,7 @@ config OPENRISC
>  	select HANDLE_DOMAIN_IRQ
>  	select GPIOLIB
>  	select HAVE_ARCH_TRACEHOOK
> +	select HAVE_COPY_THREAD_TLS
>  	select SPARSE_IRQ
>  	select GENERIC_IRQ_CHIP
>  	select GENERIC_IRQ_PROBE
> diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
> index b06f84f6676f..6695f167e126 100644
> --- a/arch/openrisc/kernel/process.c
> +++ b/arch/openrisc/kernel/process.c
> @@ -117,12 +117,13 @@ void release_thread(struct task_struct *dead_task)
>  extern asmlinkage void ret_from_fork(void);
>  
>  /*
> - * copy_thread
> + * copy_thread_tls
>   * @clone_flags: flags
>   * @usp: user stack pointer or fn for kernel thread
>   * @arg: arg to fn for kernel thread; always NULL for userspace thread
>   * @p: the newly created task
>   * @regs: CPU context to copy for userspace thread; always NULL for kthread
> + * @tls: the Thread Local Storate pointer for the new process
>   *
>   * At the top of a newly initialized kernel stack are two stacked pt_reg
>   * structures.  The first (topmost) is the userspace context of the thread.
> @@ -148,8 +149,8 @@ extern asmlinkage void ret_from_fork(void);
>   */
>  
>  int
> -copy_thread(unsigned long clone_flags, unsigned long usp,
> -	    unsigned long arg, struct task_struct *p)
> +copy_thread_tls(unsigned long clone_flags, unsigned long usp,
> +		unsigned long arg, struct task_struct *p, unsigned long tls)
>  {
>  	struct pt_regs *userregs;
>  	struct pt_regs *kregs;
> @@ -180,15 +181,9 @@ copy_thread(unsigned long clone_flags, unsigned long usp,
>  
>  		/*
>  		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed to sys_clone.

Maybe reword this to:

For CLONE_SETTLS set "tp" (r10) to the TLS pointer. We probably
shouldn't mention clone() explicitly anymore, since we now have
clone3() and therefore two callers that pass in tls arguments.

Thanks!
Christian

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] openrisc: Enable the clone3 syscall
  2020-02-26 22:56 ` [PATCH 2/3] openrisc: Enable the clone3 syscall Stafford Horne
@ 2020-02-27 12:21   ` Christian Brauner
  2020-02-27 13:29     ` Stafford Horne
  0 siblings, 1 reply; 12+ messages in thread
From: Christian Brauner @ 2020-02-27 12:21 UTC (permalink / raw)
  To: Stafford Horne
  Cc: LKML, Openrisc, Jonas Bonn, Stefan Kristiansson, Christian Brauner

On Thu, Feb 27, 2020 at 07:56:24AM +0900, Stafford Horne wrote:
> Enable the clone3 syscall for OpenRISC.  We use the generic version.
> 
> This was tested with the clone3 test from selftests.  Note, for all
> tests to pass it required enabling CONFIG_NAMESPACES which is not
> enabled in the default kernel config.

For OpenRISC, I assume. Hm, maybe we should fix the tests to skip when
CONFIG_NAMESPACES is not enabled.

> 
> Signed-off-by: Stafford Horne <shorne@gmail.com>

Acked-by: Christian Brauner <christian.brauner@ubuntu.com>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments
  2020-02-26 22:56 ` [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments Stafford Horne
@ 2020-02-27 12:24   ` Christian Brauner
  0 siblings, 0 replies; 12+ messages in thread
From: Christian Brauner @ 2020-02-27 12:24 UTC (permalink / raw)
  To: Stafford Horne
  Cc: LKML, Openrisc, Jonas Bonn, Stefan Kristiansson,
	Christian Brauner, Greg Kroah-Hartman, Thomas Gleixner,
	Allison Randal

On Thu, Feb 27, 2020 at 07:56:25AM +0900, Stafford Horne wrote:
> Previously copy_thread_tls was copy_thread and before that something
> else.  Remove the documentation about the regs parameter that didn't
> exist in either version.
> 
> Next, fix comment wrapping and details about how TLS pointer gets to the
> copy_thread_tls function.
> 
> Signed-off-by: Stafford Horne <shorne@gmail.com>

Acked-by: Christian Brauner <christian.brauner@ubuntu.com>

> ---
>  arch/openrisc/kernel/process.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
> index 6695f167e126..b442e7b59e17 100644
> --- a/arch/openrisc/kernel/process.c
> +++ b/arch/openrisc/kernel/process.c
> @@ -122,7 +122,6 @@ extern asmlinkage void ret_from_fork(void);
>   * @usp: user stack pointer or fn for kernel thread
>   * @arg: arg to fn for kernel thread; always NULL for userspace thread
>   * @p: the newly created task
> - * @regs: CPU context to copy for userspace thread; always NULL for kthread
>   * @tls: the Thread Local Storate pointer for the new process
>   *
>   * At the top of a newly initialized kernel stack are two stacked pt_reg
> @@ -180,7 +179,8 @@ copy_thread_tls(unsigned long clone_flags, unsigned long usp,
>  			userregs->sp = usp;
>  
>  		/*
> -		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed to sys_clone.
> +		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed
> +		 * in clone_args to sys_clone3.

As I said in my other reply, I'd not reference any specific caller since
we have at least two.

Christian

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/3] OpenRISC clone3 support
  2020-02-26 22:56 [PATCH 0/3] OpenRISC clone3 support Stafford Horne
                   ` (2 preceding siblings ...)
  2020-02-26 22:56 ` [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments Stafford Horne
@ 2020-02-27 12:26 ` Christian Brauner
  2020-02-27 13:18   ` Stafford Horne
  3 siblings, 1 reply; 12+ messages in thread
From: Christian Brauner @ 2020-02-27 12:26 UTC (permalink / raw)
  To: Stafford Horne; +Cc: LKML, Openrisc, Christian Brauner

On Thu, Feb 27, 2020 at 07:56:22AM +0900, Stafford Horne wrote:
> This series fixes the clone3 not implemented warnings I have been seeing
> during recent builds.  It was a simple case of implementing copy_thread_tls
> and turning on clone3 generic support.  Testing shows no issues.

This all looks good to me. Thanks for doing this. We're getting closer
and closer to having all architectures supporting clone3()!

You want me to pick this series up for 5.7 or are you going through
another tree?

Christian

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls
  2020-02-27 12:19   ` Christian Brauner
@ 2020-02-27 13:16     ` Stafford Horne
  0 siblings, 0 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-27 13:16 UTC (permalink / raw)
  To: Christian Brauner
  Cc: LKML, Openrisc, Jonas Bonn, Stefan Kristiansson,
	Christian Brauner, Greg Kroah-Hartman, Thomas Gleixner,
	Allison Randal

On Thu, Feb 27, 2020 at 01:19:52PM +0100, Christian Brauner wrote:
> On Thu, Feb 27, 2020 at 07:56:23AM +0900, Stafford Horne wrote:
> > This is required for clone3 which passes the TLS value through a
> > struct rather than a register.
> > 
> > Signed-off-by: Stafford Horne <shorne@gmail.com>
> > ---
> >  arch/openrisc/Kconfig          |  1 +
> >  arch/openrisc/kernel/process.c | 15 +++++----------
> >  2 files changed, 6 insertions(+), 10 deletions(-)
> > 
> > diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
> > index 1928e061ff96..5debdbe6fc35 100644
> > --- a/arch/openrisc/Kconfig
> > +++ b/arch/openrisc/Kconfig
> > @@ -14,6 +14,7 @@ config OPENRISC
> >  	select HANDLE_DOMAIN_IRQ
> >  	select GPIOLIB
> >  	select HAVE_ARCH_TRACEHOOK
> > +	select HAVE_COPY_THREAD_TLS
> >  	select SPARSE_IRQ
> >  	select GENERIC_IRQ_CHIP
> >  	select GENERIC_IRQ_PROBE
> > diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
> > index b06f84f6676f..6695f167e126 100644
> > --- a/arch/openrisc/kernel/process.c
> > +++ b/arch/openrisc/kernel/process.c
> > @@ -117,12 +117,13 @@ void release_thread(struct task_struct *dead_task)
> >  extern asmlinkage void ret_from_fork(void);
> >  
> >  /*
> > - * copy_thread
> > + * copy_thread_tls
> >   * @clone_flags: flags
> >   * @usp: user stack pointer or fn for kernel thread
> >   * @arg: arg to fn for kernel thread; always NULL for userspace thread
> >   * @p: the newly created task
> >   * @regs: CPU context to copy for userspace thread; always NULL for kthread
> > + * @tls: the Thread Local Storate pointer for the new process
> >   *
> >   * At the top of a newly initialized kernel stack are two stacked pt_reg
> >   * structures.  The first (topmost) is the userspace context of the thread.
> > @@ -148,8 +149,8 @@ extern asmlinkage void ret_from_fork(void);
> >   */
> >  
> >  int
> > -copy_thread(unsigned long clone_flags, unsigned long usp,
> > -	    unsigned long arg, struct task_struct *p)
> > +copy_thread_tls(unsigned long clone_flags, unsigned long usp,
> > +		unsigned long arg, struct task_struct *p, unsigned long tls)
> >  {
> >  	struct pt_regs *userregs;
> >  	struct pt_regs *kregs;
> > @@ -180,15 +181,9 @@ copy_thread(unsigned long clone_flags, unsigned long usp,
> >  
> >  		/*
> >  		 * For CLONE_SETTLS set "tp" (r10) to the TLS pointer passed to sys_clone.
> 
> Maybe reword this to:
> 
> For CLONE_SETTLS set "tp" (r10) to the TLS pointer. We probably
> shouldn't mention clone() explicitly anymore, since we now have
> clone3() and therefore two callers that pass in tls arguments.

Sure, I updated it in the 'docs' commit, but as you mention I can just remove
the mention of clone* all together.  I will just remove that here and it won't
have to be touched in the 'docs' commit.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 0/3] OpenRISC clone3 support
  2020-02-27 12:26 ` [PATCH 0/3] OpenRISC clone3 support Christian Brauner
@ 2020-02-27 13:18   ` Stafford Horne
  0 siblings, 0 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-27 13:18 UTC (permalink / raw)
  To: Christian Brauner; +Cc: LKML, Openrisc, Christian Brauner

On Thu, Feb 27, 2020 at 01:26:54PM +0100, Christian Brauner wrote:
> On Thu, Feb 27, 2020 at 07:56:22AM +0900, Stafford Horne wrote:
> > This series fixes the clone3 not implemented warnings I have been seeing
> > during recent builds.  It was a simple case of implementing copy_thread_tls
> > and turning on clone3 generic support.  Testing shows no issues.
> 
> This all looks good to me. Thanks for doing this. We're getting closer
> and closer to having all architectures supporting clone3()!
> 
> You want me to pick this series up for 5.7 or are you going through
> another tree?

I am the OpenRISC maintainer so I will just send these through my tree during
the 5.7 merge window with you Ack attributions.

-Stafford

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH 2/3] openrisc: Enable the clone3 syscall
  2020-02-27 12:21   ` Christian Brauner
@ 2020-02-27 13:29     ` Stafford Horne
  0 siblings, 0 replies; 12+ messages in thread
From: Stafford Horne @ 2020-02-27 13:29 UTC (permalink / raw)
  To: Christian Brauner
  Cc: LKML, Openrisc, Jonas Bonn, Stefan Kristiansson, Christian Brauner

On Thu, Feb 27, 2020 at 01:21:47PM +0100, Christian Brauner wrote:
> On Thu, Feb 27, 2020 at 07:56:24AM +0900, Stafford Horne wrote:
> > Enable the clone3 syscall for OpenRISC.  We use the generic version.
> > 
> > This was tested with the clone3 test from selftests.  Note, for all
> > tests to pass it required enabling CONFIG_NAMESPACES which is not
> > enabled in the default kernel config.
> 
> For OpenRISC, I assume. Hm, maybe we should fix the tests to skip when
> CONFIG_NAMESPACES is not enabled.

Yes, not the default for openrisc defconfig.  It might make sense to either skip
the tests of have them as expected fails when CONFIG_NAMESPACES is off.

On the otherhand, I am not sure if the self tests know about the CONFIG_*
available.  I notice many test directories have a 'config' file and a readme
saying, for these test to run ensure use have at least 'these' config values
set.

-Stafford

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2020-02-27 13:29 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 22:56 [PATCH 0/3] OpenRISC clone3 support Stafford Horne
2020-02-26 22:56 ` [PATCH 1/3] openrisc: Convert copy_thread to copy_thread_tls Stafford Horne
2020-02-27  0:31   ` Stafford Horne
2020-02-27 12:19   ` Christian Brauner
2020-02-27 13:16     ` Stafford Horne
2020-02-26 22:56 ` [PATCH 2/3] openrisc: Enable the clone3 syscall Stafford Horne
2020-02-27 12:21   ` Christian Brauner
2020-02-27 13:29     ` Stafford Horne
2020-02-26 22:56 ` [PATCH 3/3] openrisc: Cleanup copy_thread_tls docs and comments Stafford Horne
2020-02-27 12:24   ` Christian Brauner
2020-02-27 12:26 ` [PATCH 0/3] OpenRISC clone3 support Christian Brauner
2020-02-27 13:18   ` Stafford Horne

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).