Re: [RFC PATCH net-next] netpoll: hold RCU while walking napi_list

From: Breno Leitao

Date: Mon Jun 29 2026 - 07:22:29 EST


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