ipv6: mcast: reduce ipv6_chk_mcast_addr() indentation
authorEric Dumazet <edumazet@google.com>
Tue, 10 Dec 2024 18:33:50 +0000 (18:33 +0000)
committerJakub Kicinski <kuba@kernel.org>
Thu, 12 Dec 2024 04:15:28 +0000 (20:15 -0800)
Add a label and two gotos to shorten lines by two tabulations,
to ease code review of following patches.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20241210183352.86530-2-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/mcast.c

index b244dbf61d5f3969c8886a999166ad5ef68b746d..afe707b6841d1ce84f11cc588200615b504a591d 100644 (file)
@@ -1021,29 +1021,31 @@ bool ipv6_chk_mcast_addr(struct net_device *dev, const struct in6_addr *group,
 
        rcu_read_lock();
        idev = __in6_dev_get(dev);
-       if (idev) {
-               for_each_mc_rcu(idev, mc) {
-                       if (ipv6_addr_equal(&mc->mca_addr, group))
-                               break;
-               }
-               if (mc) {
-                       if (src_addr && !ipv6_addr_any(src_addr)) {
-                               struct ip6_sf_list *psf;
+       if (!idev)
+               goto unlock;
+       for_each_mc_rcu(idev, mc) {
+               if (ipv6_addr_equal(&mc->mca_addr, group))
+                       break;
+       }
+       if (!mc)
+               goto unlock;
+       if (src_addr && !ipv6_addr_any(src_addr)) {
+               struct ip6_sf_list *psf;
 
-                               for_each_psf_rcu(mc, psf) {
-                                       if (ipv6_addr_equal(&psf->sf_addr, src_addr))
-                                               break;
-                               }
-                               if (psf)
-                                       rv = psf->sf_count[MCAST_INCLUDE] ||
-                                               psf->sf_count[MCAST_EXCLUDE] !=
-                                               mc->mca_sfcount[MCAST_EXCLUDE];
-                               else
-                                       rv = mc->mca_sfcount[MCAST_EXCLUDE] != 0;
-                       } else
-                               rv = true; /* don't filter unspecified source */
+               for_each_psf_rcu(mc, psf) {
+                       if (ipv6_addr_equal(&psf->sf_addr, src_addr))
+                               break;
                }
+               if (psf)
+                       rv = psf->sf_count[MCAST_INCLUDE] ||
+                               psf->sf_count[MCAST_EXCLUDE] !=
+                               mc->mca_sfcount[MCAST_EXCLUDE];
+               else
+                       rv = mc->mca_sfcount[MCAST_EXCLUDE] != 0;
+       } else {
+               rv = true; /* don't filter unspecified source */
        }
+unlock:
        rcu_read_unlock();
        return rv;
 }