]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: veth: Disable netpoll support
authorBreno Leitao <leitao@debian.org>
Mon, 5 Aug 2024 09:40:11 +0000 (02:40 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 6 Aug 2024 19:18:30 +0000 (12:18 -0700)
The current implementation of netpoll in veth devices leads to
suboptimal behavior, as it triggers warnings due to the invocation of
__netif_rx() within a softirq context. This is not compliant with
expected practices, as __netif_rx() has the following statement:

lockdep_assert_once(hardirq_count() | softirq_count());

Given that veth devices typically do not benefit from the
functionalities provided by netpoll, Disable netpoll for veth
interfaces.

Signed-off-by: Breno Leitao <leitao@debian.org>
Link: https://patch.msgid.link/20240805094012.1843247-1-leitao@debian.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/veth.c

index 426e68a950672ed262f2843716a3117534437a14..34499b91a8bde047d0da5c9e5f543e392d5df6a5 100644 (file)
@@ -1696,6 +1696,7 @@ static void veth_setup(struct net_device *dev)
        dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
        dev->priv_flags |= IFF_NO_QUEUE;
        dev->priv_flags |= IFF_PHONY_HEADROOM;
+       dev->priv_flags |= IFF_DISABLE_NETPOLL;
 
        dev->netdev_ops = &veth_netdev_ops;
        dev->xdp_metadata_ops = &veth_xdp_metadata_ops;