Re: [PATCH 1/7] arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers

From: Amanieu d'Antras
Date: Thu Jan 02 2020 - 14:33:08 EST


On Thu, Jan 2, 2020 at 8:25 PM Arnd Bergmann <arnd@xxxxxxxx> wrote:
> On Thu, Jan 2, 2020 at 6:50 PM Christian Brauner
> <christian.brauner@xxxxxxxxxx> wrote:
> > On Thu, Jan 02, 2020 at 06:24:07PM +0100, Amanieu d'Antras wrote:
> > > Previously this was only defined in the internal headers which
> > > resulted in __NR_clone3 not being defined in the user headers.
> > >
> > > Signed-off-by: Amanieu d'Antras <amanieu@xxxxxxxxx>
> > > Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > > Cc: <stable@xxxxxxxxxxxxxxx> # 5.3.x
> > > ---
> > > arch/arm64/include/asm/unistd.h | 1 -
> > > arch/arm64/include/uapi/asm/unistd.h | 1 +
> > > 2 files changed, 1 insertion(+), 1 deletion(-)
>
> Good catch, this is clearly needed, but please make the patch change
> every copy of asm/unistd.h that defines this, not just the arm64 one.

Actually __ARCH_WANT_SYS_CLONE3 only needs to be in the uapi headers
for architectures that use the asm-generic/unistd.h header, which uses
it to guard the definition of __NR_clone3. Architectures not using the
asm-generic header don't need this define to export __NR_clone3. The
only other architecture with clone3 that uses the asm-generic header
is riscv, which already defines __ARCH_WANT_SYS_CLONE3 in the uapi
headers.