]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ipvlan: use netif_receive_skb() in ipvlan_process_multicast()
authorEric Dumazet <edumazet@google.com>
Tue, 12 May 2026 04:20:19 +0000 (04:20 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 14 May 2026 00:55:14 +0000 (17:55 -0700)
ipvlan_process_multicast() runs from process context, there is no
risk of stack overflow if we call netif_receive_skb() instead
of netif_rx().

This avoids some overhead adding/removing skbs to/from a per-cpu
backlog and raising/processing NET_RX softirqs.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://patch.msgid.link/20260512042019.3300975-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ipvlan/ipvlan_core.c

index 1be8620ad3971d281fb36fd0770efd67b566ae60..7ad12dc7845c836bdd04395f153b2b4b397797d6 100644 (file)
@@ -286,7 +286,7 @@ void ipvlan_process_multicast(struct work_struct *work)
                                if (tx_pkt)
                                        ret = dev_forward_skb(ipvlan->dev, nskb);
                                else
-                                       ret = netif_rx(nskb);
+                                       ret = netif_receive_skb(nskb);
                        }
                        ipvlan_count_rx(ipvlan, len, ret == NET_RX_SUCCESS, true);
                        local_bh_enable();