]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
vrf: Remove unnecessary NULL check
authorIdo Schimmel <idosch@nvidia.com>
Thu, 26 Mar 2026 20:32:31 +0000 (22:32 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 28 Mar 2026 04:07:24 +0000 (21:07 -0700)
The VRF driver always allocates an IPv4 dst entry for a VRF device and
prevents the device from being registered if the allocation fails.

Therefore, there is no need to check if the entry exists when tearing
down a VRF device. Remove the check.

Note that the same is not true for the IPv6 dst entry. Its creation can
be skipped if IPv6 is administratively disabled (i.e.,
'ipv6.disable=1').

Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20260326203233.1128554-2-idosch@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/vrf.c

index 8c009bcaa8e77dfa541fde852726d040147f1aac..0952ab6a25712f6425b905d541176c3a3ec3d969 100644 (file)
@@ -1007,13 +1007,11 @@ static void vrf_rtable_release(struct net_device *dev, struct net_vrf *vrf)
        /* move dev in dst's to loopback so this VRF device can be deleted
         * - based on dst_ifdown
         */
-       if (rth) {
-               dst = &rth->dst;
-               netdev_ref_replace(dst->dev, net->loopback_dev,
-                                  &dst->dev_tracker, GFP_KERNEL);
-               dst->dev = net->loopback_dev;
-               dst_release(dst);
-       }
+       dst = &rth->dst;
+       netdev_ref_replace(dst->dev, net->loopback_dev,
+                          &dst->dev_tracker, GFP_KERNEL);
+       dst->dev = net->loopback_dev;
+       dst_release(dst);
 }
 
 static int vrf_rtable_create(struct net_device *dev)