Re: [PULL 2/2] linux-user: fix guards for the fsmount(2) syscall series

Stefan Hajnoczi <[email protected]>
Newsgroups gmane.comp.emulators.qemu
Message-ID <CAJSP0QVoP11zVbsMHNkNFCzxTN2zc=dkAdKSVNmxfsBpsyxRZw@mail.gmail.com>
On Tue, Jul 28, 2026 at 6:11 AM Helge Deller <[email protected]> wrote:
>
> On 7/27/26 16:15, Stefan Hajnoczi wrote:
> > On Sun, Jul 26, 2026 at 3:36 PM Helge Deller <[email protected]> wrote:
> >>
> >> From: Matt Turner <[email protected]>
> >>
> >> The fsopen(), fsconfig(), fsmount() and fspick() implementations are
> >> guarded by defined(NR_fsopen) rather than defined(__NR_fsopen). No such
> >> macro exists, so the guard is never true and the entire series compiles
> >> out. Guests calling any of the four get -ENOSYS, which for example makes
> >> systemd's credential setup fail with EXIT_CREDENTIALS for most units.
> >>
> >> The strace bits for fsconfig() have the same typo.
> >
> > Please take a look at the following CI failure:
> >
> > ../linux-user/strace.c: In function ‘print_fsconfig_cmd_name’:
> > ../linux-user/strace.c:4352:10: error: ‘FSCONFIG_SET_FLAG’ undeclared
> > (first use in this function)
> > 4352 | case FSCONFIG_SET_FLAG:
> > | ^~~~~~~~~~~~~~~~~
> >
> > https://gitlab.com/qemu-project/qemu/-/jobs/15553379213#L2358
> >
> > Once this has been fixed, please send a v2 pull request. Thanks!
>
> I've sent a new pull request.
> I added a dependency on the availability of the FSCONFIG_SET_FLAG define.
> This is okay for now, but maybe a better fix is possible?
>
> Usually this define should be available, but it doesn't seem to
> be in that chroot image.
> I'm sure I'm missing something, but is it somewhere documented how to get that chroot
> image locally so that I can reproduce the problem?

$ git grep build-without-default
.gitlab-ci.d/buildtest.yml:build-without-defaults:
$ cat .gitlab-ci.d/buildtest.yml
...
# Check our reduced build configurations
build-without-defaults:
  extends: .native_build_job_template
  needs:
    - job: amd64-centos9-container
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  variables:
    IMAGE: centos9
    ^^^^^^^^^^^^^^^^
$ git grep amd64-centos9-container
.gitlab-ci.d/container-core.yml:amd64-centos9-container

The amd64-centos9-container job builds the
tests/docker/dockerfiles/centos9.docker Dockerfile.

You can reproduce QEMU's centos9 image locally with `make docker-image-centos9`.

Stefan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.