Re: kernel/fork.c:3088:2: warning: clone3() entry point is missing, please fix

From: Arnd Bergmann
Date: Mon Jun 30 2025 - 06:03:57 EST


On Mon, Jun 30, 2025, at 08:30, John Paul Adrian Glaubitz wrote:
> On Mon, 2025-06-30 at 08:14 +0200, Arnd Bergmann wrote:
>> On Sat, Jun 28, 2025, at 21:59, kernel test robot wrote:
>>
>> I don't think any of those architecture maintainers are paying
>> attention to the build warnings or the lkp reports, and they are
>> clearly not trying to fix them any more, so maybe it's better to
>> just stop testing them in lkp.
>
> I have seen that warning about clone3() missing but I was not aware that it's
> an urgent issue to address. Do you have any suggestion on how to implement
> that syscall?

Some architectures have custom calling conventions for the
fork/vfork/clone/clone3 syscalls, e.g. to handle copying all the
registers correctly when the normal syscall entry doesn't do that,
or to handle the changing stack correctly.

I see that both sparc and hexagon have a custom clone() syscall,
so they likely need a custom clone3() as well, while sh and
nios2 probably don't.

All four would need a custom assembler implementation in userspace
for each libc, in order to test the userspace calling the clone3()
function. For testing the kernel entry point itself, see Christian's
original test case[1].

Arnd

[1] https://lore.kernel.org/lkml/20190716130631.tohj4ub54md25dys@xxxxxxxxxx/