netfilter: ipset: Simplify mtype_expire() for hash types
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Thu, 10 Nov 2016 11:18:06 +0000 (12:18 +0100)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Thu, 10 Nov 2016 12:28:46 +0000 (13:28 +0100)
Remove one leve of intendation by using continue while
iterating over elements in bucket.

Ported from a patch proposed by Sergey Popovich <popovich_sergei@mail.ua>.

Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
net/netfilter/ipset/ip_set_hash_gen.h

index c4877b6de74f647c76ec8dccfd72a379cbfc8208..7999e4c556a586fc331128b75a5a5c3c3a28c7d9 100644 (file)
@@ -487,21 +487,20 @@ mtype_expire(struct ip_set *set, struct htype *h)
                                continue;
                        }
                        data = ahash_data(n, j, dsize);
-                       if (ip_set_timeout_expired(ext_timeout(data, set))) {
-                               pr_debug("expired %u/%u\n", i, j);
-                               clear_bit(j, n->used);
-                               smp_mb__after_atomic();
+                       if (!ip_set_timeout_expired(ext_timeout(data, set)))
+                               continue;
+                       pr_debug("expired %u/%u\n", i, j);
+                       clear_bit(j, n->used);
+                       smp_mb__after_atomic();
 #ifdef IP_SET_HASH_WITH_NETS
-                               for (k = 0; k < IPSET_NET_COUNT; k++)
-                                       mtype_del_cidr(h,
-                                               NCIDR_PUT(DCIDR_GET(data->cidr,
-                                                                   k)),
-                                               nets_length, k);
+                       for (k = 0; k < IPSET_NET_COUNT; k++)
+                               mtype_del_cidr(h,
+                                       NCIDR_PUT(DCIDR_GET(data->cidr, k)),
+                                       nets_length, k);
 #endif
-                               ip_set_ext_destroy(set, data);
-                               set->elements--;
-                               d++;
-                       }
+                       ip_set_ext_destroy(set, data);
+                       set->elements--;
+                       d++;
                }
                if (d >= AHASH_INIT_SIZE) {
                        if (d >= n->size) {