Subject: Re: powerpc: Enabling sys_kcmp for CRIU

From: Michael Ellerman <[email-masked]>
Date: Mon, 11 May 2015 20:31:15 +1000 (AEST)

On Tue, 2015-05-05 at 15:30:21 UTC, Laurent Dufour wrote:
> The commit 8170a83f15ee ("powerpc: Wireup the kcmp syscall to sys_ni") has
> disabled the kcmp syscall for powerpc.  This has been done due to the use
> of unsigned long parameters which may require a dedicated wrapper to handle
> 32bit process on top of 64bit kernel.  However in the kcmp() case, the 2
> unsigned long parameters are currently only used to carry file descriptors
> from user space to the kernel.  Since such a parameter is passed through
> register, and file descriptor doesn't need to get extended, there is,
> today, no need for a wrapper.
> 
> In the case there will be a need to pass address in or out of this system
> call, then a wrapper could be required, it will then be to care of it.
> 
> As today this is not the case, it is safe to enable kcmp() on powerpc.

That's mostly convincing. Though I see that s390 does have a compat wrapper,
i386 doesn't. So who knows what that means.

But, there's a selftest in tools/testing/selftests/kcmp. So can you run that as
32-bit and confirm it works? Then I'd be 100% convinced :)

cheers