Re: [RFC PATCH net-next] netpoll: hold RCU while walking napi_list
From: Breno Leitao <leitao@debian.org>
Date: 2026-06-29 11:17:45
Also in:
lkml
Hello, On Sun, Jun 28, 2026 at 01:04:17PM +0800, Runyu Xiao wrote:
Hi, On Sat, 27 Jun 2026 14:21:05 -0700 Jakub Kicinski wrote: > Please provide the stack trace from the report, rather than just saying > that you can trigger it.
I am really suprised to see this warning. I've been runing this code with CONFIG_PROVE_RCU_LIST for ages, and I haven't seen anything similar.
Sure, sorry for not including it in the RFC. The warning was from the reviewed reproducer used for the CONFIG_PROVE_RCU_LIST triage, not from a production crash. The relevant part of the dmesg is:
Reading it, it does not come from the kernel's netpoll code at all -- it comes from an out-of-tree module (!?)
WARNING: suspicious RCU usage 6.1.66 #3 Tainted: G O ----------------------------- /home/ubuntu22/msv_workspace/shared/vuln_msv.c:45 RCU-list traversed in non-reader section!! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 no locks held by insmod/190. stack backtrace: CPU: 1 PID: 190 Comm: insmod Tainted: G O 6.1.66 #3
Have you tested it on a more modern kernel?
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <task> dump_stack_lvl+0x45/0x5d lockdep_rcu_suspicious.cold+0x2d/0x64 poll_napi.constprop.0+0x43/0x71 [vuln_msv] netpoll_poll_dev.constprop.0+0x27/0x36 [vuln_msv] ? 0xffffffffc0005000 rcu_list_msv_init+0xe2/0x1000 [vuln_msv]
What is `vuln_msv` exactly? Could you reproduce this from an in-kernel path instead -- a real netpoll/netconsole/bonding caller, with the frames resolving to the kernel rather than [vuln_msv]? Meanwhile, NAK until the above is clarified -- pw-bot: rejected