From: Christian Schoenebeck <linux_oss@crudebyte.com>
To: Eric Van Hensbergen <ericvh@kernel.org>,
Robert Schwebel <r.schwebel@pengutronix.de>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
v9fs@lists.linux.dev, kernel@pengutronix.de
Subject: Re: mmap on 9p broken in 6.4
Date: Wed, 12 Jul 2023 11:01:53 +0200 [thread overview]
Message-ID: <3123765.Wy8GRVaxaG@silver> (raw)
In-Reply-To: <ZK25XZ+GpR3KHIB/@pengutronix.de>
On Tuesday, July 11, 2023 10:19:41 PM CEST Robert Schwebel wrote:
> Hi Eric,
>
> TL;DR: mmap() seems to be broken on 9pfs on Linux 6.4. setting
> "rootflags=ignoreqv" fixes it as well, but it feels like a regression.
What's the precise set of 9p mount options on guest, which 9p server is used
and what are 9p server's options respectively?
> I'm tracking down an issue which recently turned up in DistroKit [1] (an
> embedded Linux distro based on the ptxdist build system). The issue was a bit
> uggly, as my CI didn't find it (systems boot up normally after a while, and I
> only use 9p for virtual qemu machines, while most of the test farm is real
> hardware).
>
> The qemu machine in question is qemu-system-arm, emulating an ARM v7a machine.
>
> When starting the systems interactively, I get a lot of error output from
> ldconfig, like this:
>
> [ 17.412964] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libgcc_s.so.1.
> [ 17.418851] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libstdc++.so.
> [ 17.425009] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libstdc++.so.6.0.30.
> [ 17.436671] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libstdc++.so.6.
> [ 17.448451] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libatomic.so.
> [ 17.456418] systemd-rc-once[127]: ldconfig: Cannot mmap file /lib/libatomic.so.1.2.0.
> ...
>
> Running ldconfig with strace shows this, for all libraries::
>
> | statx(AT_FDCWD, "/lib/libnm.so.0", AT_STATX_SYNC_AS_STAT|AT_SYMLINK_NOFOLLOW|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFLNK|0777, stx_size=14, ...}) = 0
> | statx(AT_FDCWD, "/lib/libnm.so.0", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|064 4, stx_size=862228, ...}) = 0
> | openat(AT_FDCWD, "/lib/libnm.so.0", O_RDONLY|O_LARGEFILE) = 4
> | statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_s ize=862228, ...}) = 0
> | mmap2(NULL, 862228, PROT_READ, MAP_SHARED, 4, 0) = -1 ENODEV (No such device)
> | write(2, "ldconfig: ", 10ldconfig: ) = 10
> | write(2, "Cannot mmap file /lib/libnm.so.0"..., 34Cannot mmap file /lib/libnm.so.0.) = 34
> | write(2, "\n", 1) = 1
> | close(4) = 0
>
> I could track down the breakage to
>
> 1543b4c5071c54d76aad7a7a26a6e43082269b0c
This patch is sensitive about 9p server transmitting a meaningful value for
file's QID version field. That's why more info about deployed 9p server would
help.
> My test setup has, in addition to the patch above, the following patches also
> reverted on top of a vanilla 6.4 kernel:
>
> 4eb3117888a923f6b9b1ad2dd093641c49a63ae5
> 21e26d5e54ab7cfe6b488fd27d4d70956d07e03b
>
> as 1543b cannot be reverted without those; however, the effect only goes away
> when I also revert 1543b. The kernel has no other patches applied, only these
> three reverts.
>
> Do you have an idea what happens?
>
> I have the setup easily available, so I could quickly test patches.
>
> Thanks,
>
> rsc
>
> [1] https://git.pengutronix.de/cgit/DistroKit/
>
next prev parent reply other threads:[~2023-07-12 9:23 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 20:19 mmap on 9p broken in 6.4 Robert Schwebel
2023-07-12 9:01 ` Christian Schoenebeck [this message]
2023-07-12 14:14 ` Robert Schwebel
2023-07-12 15:57 ` Christian Schoenebeck
2023-07-12 22:15 ` Robert Schwebel
2023-07-13 7:50 ` Christian Schoenebeck
[not found] ` <CAFkjPTmrbe9Djs_iYf=vu1xbTLhey0OmePR2Jw=C_dbQVYnAhQ@mail.gmail.com>
2023-07-13 10:54 ` Christian Schoenebeck
2023-07-14 5:36 ` Robert Schwebel
2023-07-16 14:54 ` Eric Van Hensbergen
2023-07-16 19:48 ` Eric Van Hensbergen
2023-07-17 11:26 ` Robert Schwebel
2023-07-17 15:29 ` Eric Van Hensbergen
2023-07-17 18:11 ` Eric Van Hensbergen
2023-07-17 18:59 ` Eric Van Hensbergen
2023-07-14 5:34 ` Robert Schwebel
2023-07-13 11:22 ` Linux regression tracking #adding (Thorsten Leemhuis)
2023-07-26 14:07 ` Linux regression tracking #update (Thorsten Leemhuis)
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=3123765.Wy8GRVaxaG@silver \
--to=linux_oss@crudebyte.com \
--cc=asmadeus@codewreck.org \
--cc=ericvh@kernel.org \
--cc=kernel@pengutronix.de \
--cc=lucho@ionkov.net \
--cc=r.schwebel@pengutronix.de \
--cc=v9fs@lists.linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.