]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: ipv4: ipmr: ipmr_queue_xmit(): Drop local variable `dev'
authorPetr Machata <petrm@nvidia.com>
Mon, 16 Jun 2025 22:44:10 +0000 (00:44 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Jun 2025 01:18:45 +0000 (18:18 -0700)
The variable is used for caching of rt->dst.dev. The netdevice referenced
therein does not change during the scope of validity of that local. At the
same time, the local is only used twice, and each of these uses will end up
in a different function in the following patches, further eliminating any
use the local could have had.

Drop the local altogether and inline the uses.

Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Nikolay Aleksandrov <razor@blackwall.org>
Link: https://patch.msgid.link/c80600a4b51679fe78f429ccb6d60892c2f9e4de.1750113335.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv4/ipmr.c

index a7d09ae9d7616bfa07e4687116c16dac2cdce46a..d2ac630bea3a8b40f19773620a34409ce61e8d44 100644 (file)
@@ -1859,7 +1859,6 @@ static void ipmr_queue_xmit(struct net *net, struct mr_table *mrt,
        const struct iphdr *iph = ip_hdr(skb);
        struct vif_device *vif = &mrt->vif_table[vifi];
        struct net_device *vif_dev;
-       struct net_device *dev;
        struct rtable *rt;
        struct flowi4 fl4;
        int    encap = 0;
@@ -1898,8 +1897,6 @@ static void ipmr_queue_xmit(struct net *net, struct mr_table *mrt,
                        goto out_free;
        }
 
-       dev = rt->dst.dev;
-
        if (skb->len+encap > dst_mtu(&rt->dst) && (ntohs(iph->frag_off) & IP_DF)) {
                /* Do not fragment multicasts. Alas, IPv4 does not
                 * allow to send ICMP, so that packets will disappear
@@ -1910,7 +1907,7 @@ static void ipmr_queue_xmit(struct net *net, struct mr_table *mrt,
                goto out_free;
        }
 
-       encap += LL_RESERVED_SPACE(dev) + rt->dst.header_len;
+       encap += LL_RESERVED_SPACE(rt->dst.dev) + rt->dst.header_len;
 
        if (skb_cow(skb, encap)) {
                ip_rt_put(rt);
@@ -1947,7 +1944,7 @@ static void ipmr_queue_xmit(struct net *net, struct mr_table *mrt,
         * result in receiving multiple packets.
         */
        NF_HOOK(NFPROTO_IPV4, NF_INET_FORWARD,
-               net, NULL, skb, skb->dev, dev,
+               net, NULL, skb, skb->dev, rt->dst.dev,
                ipmr_forward_finish);
        return;