Message ID | 20250303-netpoll_rcu_v2-v1-1-6b34d8a01fa2@debian.org (mailing list archive) |
---|---|
State | New |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] netpoll: guard __netpoll_send_skb() with RCU read lock | expand |
diff --git a/net/core/netpoll.c b/net/core/netpoll.c index 62b4041aae1ae..cac389105e2d1 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c @@ -326,6 +326,7 @@ static netdev_tx_t __netpoll_send_skb(struct netpoll *np, struct sk_buff *skb) lockdep_assert_irqs_disabled(); + guard(rcu)(); dev = np->dev; npinfo = rcu_dereference_bh(dev->npinfo);
The function __netpoll_send_skb() is being invoked without holding the RCU read lock. This oversight triggers a warning message when CONFIG_PROVE_RCU_LIST is enabled: net/core/netpoll.c:330 suspicious rcu_dereference_check() usage! netpoll_send_skb netpoll_send_udp write_ext_msg console_flush_all console_unlock vprintk_emit To prevent npinfo from disappearing unexpectedly, ensure that __netpoll_send_skb() is protected with the RCU read lock. Fixes: 2899656b494dcd1 ("netpoll: take rcu_read_lock_bh() in netpoll_send_skb_on_dev()") Signed-off-by: Breno Leitao <leitao@debian.org> --- net/core/netpoll.c | 1 + 1 file changed, 1 insertion(+) --- base-commit: 7eb172143d5508b4da468ed59ee857c6e5e01da6 change-id: 20250303-netpoll_rcu_v2-fed72eb0cb83 Best regards,