Bug 2277512 - WARNING: CPU: 3 PID: 2827 at fs/netfs/iterator.c:50 netfs_extract_user_iter+0x175/0x250 [netfs]
Summary: WARNING: CPU: 3 PID: 2827 at fs/netfs/iterator.c:50 netfs_extract_user_iter+0...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 40
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL: https://github.com/containers/bootc/i...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-04-27 15:23 UTC by Colin Walters
Modified: 2025-05-16 08:12 UTC (History)
17 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-05-16 08:12:04 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Colin Walters 2024-04-27 15:23:29 UTC
See https://github.com/containers/bootc/issues/485#issue-2262150728

The basic setup here is:

- running a podman machine (Linux VM) which has a 9p mount back out to the host (user home directory)
- Our bootc install process creates a loopback mount in the VM on top of a file in the host and writes a filesystem that way

We're hitting this WARN_ON as of recently: https://github.com/torvalds/linux/commit/85dd2c8ff368b1446be9febde84afe1d7aec4261

```
Apr 24 16:35:19 localhost.localdomain kernel: ------------[ cut here ]------------
Apr 24 16:35:19 localhost.localdomain kernel: WARNING: CPU: 3 PID: 2827 at fs/netfs/iterator.c:50 netfs_extract_user_iter+0x175/0x250 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel: Modules linked in: loop 9p netfs rfkill overlay ptp_kvm sunrpc intel_rapl_msr intel_rapl_common binfmt_misc intel_uncore_frequency_common intel_pmc_core intel_vsec pmt_telemetry pmt_class kvm_intel ppdev kvm s>
Apr 24 16:35:19 localhost.localdomain kernel: CPU: 3 PID: 2827 Comm: kworker/u16:1 Not tainted 6.8.4-200.fc39.x86_64 #1
Apr 24 16:35:19 localhost.localdomain kernel: Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-1.fc39 04/01/2014
Apr 24 16:35:19 localhost.localdomain kernel: Workqueue: loop0 loop_workfn [loop]
Apr 24 16:35:19 localhost.localdomain kernel: RIP: 0010:netfs_extract_user_iter+0x175/0x250 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel: Code: c6 29 fb 31 ff 89 5a f8 4c 39 d9 75 c3 4d 85 c9 0f 84 c2 00 00 00 45 39 f2 0f 83 b9 00 00 00 4d 89 cd 44 89 d3 e9 30 ff ff ff <0f> 0b 48 c7 c3 fb ff ff ff 48 8b 44 24 28 65 48 2b 04 25 28 00 00
Apr 24 16:35:19 localhost.localdomain kernel: RSP: 0018:ffffb49282c2bc60 EFLAGS: 00010202
Apr 24 16:35:19 localhost.localdomain kernel: RAX: 0000000000000000 RBX: ffff991ba6cf0e00 RCX: 0000000000000000
Apr 24 16:35:19 localhost.localdomain kernel: RDX: ffff991ba6cf0e78 RSI: 0000000000005000 RDI: ffffb49282c2bd18
Apr 24 16:35:19 localhost.localdomain kernel: RBP: ffff991b6f6b35b0 R08: ffffffffc0ee1a80 R09: 0000000000000000
Apr 24 16:35:19 localhost.localdomain kernel: R10: ffffb49282c2bc80 R11: 0000000000000001 R12: ffff991b526f02e8
Apr 24 16:35:19 localhost.localdomain kernel: R13: ffffffffc0f55b40 R14: ffffb49282c2bd18 R15: ffff991ba6cf0e00
Apr 24 16:35:19 localhost.localdomain kernel: FS:  0000000000000000(0000) GS:ffff991bbdcc0000(0000) knlGS:0000000000000000
Apr 24 16:35:19 localhost.localdomain kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Apr 24 16:35:19 localhost.localdomain kernel: CR2: 00007f01d8001018 CR3: 0000000006930006 CR4: 0000000000770ef0
Apr 24 16:35:19 localhost.localdomain kernel: PKRU: 55555554
Apr 24 16:35:19 localhost.localdomain kernel: Call Trace:
Apr 24 16:35:19 localhost.localdomain kernel:  <TASK>
Apr 24 16:35:19 localhost.localdomain kernel:  ? netfs_extract_user_iter+0x175/0x250 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel:  ? __warn+0x81/0x130
Apr 24 16:35:19 localhost.localdomain kernel:  ? netfs_extract_user_iter+0x175/0x250 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel:  ? report_bug+0x171/0x1a0
Apr 24 16:35:19 localhost.localdomain kernel:  ? handle_bug+0x3c/0x80
Apr 24 16:35:19 localhost.localdomain kernel:  ? exc_invalid_op+0x17/0x70
Apr 24 16:35:19 localhost.localdomain kernel:  ? asm_exc_invalid_op+0x1a/0x20
Apr 24 16:35:19 localhost.localdomain kernel:  ? __pfx_lo_rw_aio_complete+0x10/0x10 [loop]
Apr 24 16:35:19 localhost.localdomain kernel:  ? netfs_extract_user_iter+0x175/0x250 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel:  ? _raw_spin_unlock+0xe/0x30
Apr 24 16:35:19 localhost.localdomain kernel:  ? __pfx_lo_rw_aio_complete+0x10/0x10 [loop]
Apr 24 16:35:19 localhost.localdomain kernel:  netfs_unbuffered_write_iter+0x14a/0x3c0 [netfs]
Apr 24 16:35:19 localhost.localdomain kernel:  lo_rw_aio.isra.0+0x29a/0x2b0 [loop]
Apr 24 16:35:19 localhost.localdomain kernel:  loop_process_work+0xb4/0x950 [loop]
Apr 24 16:35:19 localhost.localdomain kernel:  ? finish_task_switch.isra.0+0x94/0x2f0
Apr 24 16:35:19 localhost.localdomain kernel:  ? __schedule+0x3f4/0x1530
Apr 24 16:35:19 localhost.localdomain kernel:  process_one_work+0x171/0x340
Apr 24 16:35:19 localhost.localdomain kernel:  worker_thread+0x27b/0x3a0
Apr 24 16:35:19 localhost.localdomain kernel:  ? __pfx_worker_thread+0x10/0x10
Apr 24 16:35:19 localhost.localdomain kernel:  kthread+0xe5/0x120
Apr 24 16:35:19 localhost.localdomain kernel:  ? __pfx_kthread+0x10/0x10
Apr 24 16:35:19 localhost.localdomain kernel:  ret_from_fork+0x31/0x50
Apr 24 16:35:19 localhost.localdomain kernel:  ? __pfx_kthread+0x10/0x10
Apr 24 16:35:19 localhost.localdomain kernel:  ret_from_fork_asm+0x1b/0x30
Apr 24 16:35:19 localhost.localdomain kernel:  </TASK>
Apr 24 16:35:19 localhost.localdomain kernel: ---[ end trace 0000000000000000 ]---
```

However, that WARN_ON is old, what is relatively more recent AFAICS (xref https://github.com/containers/bootc/issues/485#issuecomment-2076127555 ) is https://github.com/torvalds/linux/commit/153a9961b551101cd38e94e26cd92fbfd198b19b
which is very much relevant to this domain (direct I/O writing to a netfs).

I haven't yet been able to reproduce this locally; working on it.

And I'm going to try shipping a workaround (https://github.com/containers/podman-bootc/issues/15) but filing this as it would certainly be nice if we had a kernel side fix too.

(That said, we also know we need to wean podman-machine off of 9p on linux and onto virtiofs which would hopefully be better here)


Reproducible: Always

Comment 1 Aoife Moloney 2025-04-25 10:32:22 UTC
This message is a reminder that Fedora Linux 40 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 40 on 2025-05-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '40'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 40 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 2 Aoife Moloney 2025-05-16 08:12:04 UTC
Fedora Linux 40 entered end-of-life (EOL) status on 2025-05-13.

Fedora Linux 40 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.