[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190719122058.njbtwy2fbd6xrp2d@brauner.io>
Date: Fri, 19 Jul 2019 14:20:59 +0200
From: Christian Brauner <christian@...uner.io>
To: Michael Ellerman <mpe@...erman.id.au>
Cc: Christian Borntraeger <borntraeger@...ibm.com>,
linux-kernel@...r.kernel.org, arnd@...db.de,
linux-arch@...r.kernel.org, linux-alpha@...r.kernel.org,
linux-ia64@...r.kernel.org, linux-m68k@...ts.linux-m68k.org,
linux-mips@...r.kernel.org, linux-parisc@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, linux-s390@...r.kernel.org,
linux-sh@...r.kernel.org, sparclinux@...r.kernel.org,
Vasily Gorbik <gor@...ux.ibm.com>,
Heiko Carstens <heiko.carstens@...ibm.com>
Subject: Re: [PATCH 1/2] arch: mark syscall number 435 reserved for clone3
On Fri, Jul 19, 2019 at 09:13:16PM +1000, Michael Ellerman wrote:
> Christian Brauner <christian@...uner.io> writes:
> > On Fri, Jul 19, 2019 at 08:18:02PM +1000, Michael Ellerman wrote:
> >> Christian Brauner <christian@...uner.io> writes:
> >> > On Mon, Jul 15, 2019 at 03:56:04PM +0200, Christian Borntraeger wrote:
> >> >> I think Vasily already has a clone3 patch for s390x with 435.
> >> >
> >> > A quick follow-up on this. Helge and Michael have asked whether there
> >> > are any tests for clone3. Yes, there will be and I try to have them
> >> > ready by the end of the this or next week for review. In the meantime I
> >> > hope the following minimalistic test program that just verifies very
> >> > very basic functionality (It's not pretty.) will help you test:
> >>
> >> Hi Christian,
> >>
> >> Thanks for the test.
> >>
> >> This actually oopses on powerpc, it hits the BUG_ON in CHECK_FULL_REGS
> >> in process.c around line 1633:
> >>
> >> } else {
> >> /* user thread */
> >> struct pt_regs *regs = current_pt_regs();
> >> CHECK_FULL_REGS(regs);
> >> *childregs = *regs;
> >> if (usp)
> >>
> >>
> >> So I'll have to dig into how we fix that before we wire up clone3.
> >>
> >> Turns out testing is good! :)
> >
> > Indeed. I have a test-suite for clone3 in mind and I hope to have it
> > ready by the end of next week. It's just always the finding the time
> > part that is annoying. :)
>
> I know the feeling!
>
> > Thanks for digging into this, Michael!
>
> No worries, happy to help where I can.
>
> In the intervening five minutes I remembered how we handle this, we just
> need a little wrapper to save the non-volatile regs:
>
> _GLOBAL(ppc_clone3)
> bl save_nvgprs
> bl sys_clone3
> b .Lsyscall_exit
Sounds good.
>
>
> A while back I meant to make it generate those automatically based on a
> flag in the syscall.tbl but of course haven't got around to it :)
>
> So with the above it seems all good:
>
> $ ./clone3 ; echo $?
> Parent process received child's pid 4204 as return value
> Parent process received child's pidfd 3
> Parent process received child's pid 4204 as return argument
> Child process with pid 4204
> 0
>
> I'll send a patch to wire it up on Monday.
Excellent! Thank you!
Christian
Powered by blists - more mailing lists