mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Arnd Bergmann" <arnd@arndb.de>
To: "John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.de>,
	"kernel test robot" <lkp@intel.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	linux-kernel@vger.kernel.org, linux-hexagon@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-sh@vger.kernel.org,
	"Dinh Nguyen" <dinguyen@kernel.org>,
	"Simon Schuster" <schuster.simon+binutils@siemens-energy.com>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	"Christian Brauner" <brauner@kernel.org>
Subject: Re: kernel/fork.c:3088:2: warning: clone3() entry point is missing, please fix
Date: Mon, 30 Jun 2025 14:07:58 +0200	[thread overview]
Message-ID: <ccf937cb-a139-4a07-aa47-4006b880b025@app.fastmail.com> (raw)
In-Reply-To: <5375b5bb7221cf878d1f93e60e72807f66e26154.camel@physik.fu-berlin.de>

On Mon, Jun 30, 2025, at 12:45, John Paul Adrian Glaubitz wrote:
> On Mon, 2025-06-30 at 12:02 +0200, Arnd Bergmann wrote:
>> 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].
>
> Thanks for the explanation. So, I guess as long as a proposed implementation
> of clone3() on sh would pass Arnd's test program, it should be good for merging?

Yes, Christian's test program should be enough for merging into
the kernel, though I would recommend also coming up with the matching
glibc patch, in order to ensure it can actually be regression tested
automatically, and to use the new features provided by glibc clone3().

Right now glibc assumes that clone3() is available on linux-5.3 or
higher and uses it to implement the normal clone() in that case,
except where the implementation is missing.

I see that at alpha, csky, parisc and microblaze have a kernel
implementation in modern Linux versions, but are missing the
glibc wrapper for it, as the kernel side was done later without
the glibc version. sparc and sh are the only ones with a glibc
port that are missing both the kernel and userspace side,
while hexagon and nios2 are not currently part of mainline glibc.

     Arnd

  reply	other threads:[~2025-06-30 12:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-28 19:59 kernel test robot
2025-06-30  6:14 ` Arnd Bergmann
2025-06-30  6:30   ` John Paul Adrian Glaubitz
2025-06-30 10:02     ` Arnd Bergmann
2025-06-30 10:45       ` John Paul Adrian Glaubitz
2025-06-30 12:07         ` Arnd Bergmann [this message]
2025-06-30 15:24           ` Andreas Larsson
2025-07-01  8:49           ` Christian Brauner
2025-06-30  6:31   ` Philip Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ccf937cb-a139-4a07-aa47-4006b880b025@app.fastmail.com \
    --to=arnd@arndb.de \
    --cc=brauner@kernel.org \
    --cc=dinguyen@kernel.org \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=llvm@lists.linux.dev \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=schuster.simon+binutils@siemens-energy.com \
    --cc=sparclinux@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®