From: Robert Schwebel <r.schwebel@pengutronix.de>
To: Eric Van Hensbergen <ericvh@kernel.org>
Cc: Latchesar Ionkov <lucho@ionkov.net>,
Dominique Martinet <asmadeus@codewreck.org>,
Christian Schoenebeck <linux_oss@crudebyte.com>,
v9fs@lists.linux.dev, kernel@pengutronix.de
Subject: mmap on 9p broken in 6.4
Date: Tue, 11 Jul 2023 22:19:41 +0200 [thread overview]
Message-ID: <ZK25XZ+GpR3KHIB/@pengutronix.de> (raw)
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.
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
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/
--
Pengutronix e.K. | Dipl.-Ing. Robert Schwebel |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-9 |
next reply other threads:[~2023-07-11 20:19 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 20:19 Robert Schwebel [this message]
2023-07-12 9:01 ` mmap on 9p broken in 6.4 Christian Schoenebeck
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=ZK25XZ+GpR3KHIB/@pengutronix.de \
--to=r.schwebel@pengutronix.de \
--cc=asmadeus@codewreck.org \
--cc=ericvh@kernel.org \
--cc=kernel@pengutronix.de \
--cc=linux_oss@crudebyte.com \
--cc=lucho@ionkov.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).