From: Aaron Conole <acon...@bytheb.org>

This is to facilitate converting from a singly-linked list to an array
of elements.

Signed-off-by: Aaron Conole <acon...@bytheb.org>
Signed-off-by: Pablo Neira Ayuso <pa...@netfilter.org>
---
 net/bridge/br_netfilter_hooks.c | 8 ++++----
 net/netfilter/core.c            | 6 ++----
 2 files changed, 6 insertions(+), 8 deletions(-)

diff --git a/net/bridge/br_netfilter_hooks.c b/net/bridge/br_netfilter_hooks.c
index adad2eed29e6..b12501a77f18 100644
--- a/net/bridge/br_netfilter_hooks.c
+++ b/net/bridge/br_netfilter_hooks.c
@@ -1008,10 +1008,10 @@ int br_nf_hook_thresh(unsigned int hook, struct net 
*net,
        struct nf_hook_state state;
        int ret;
 
-       elem = rcu_dereference(net->nf.hooks[NFPROTO_BRIDGE][hook]);
-
-       while (elem && (nf_hook_entry_priority(elem) <= NF_BR_PRI_BRNF))
-               elem = rcu_dereference(elem->next);
+       for (elem = rcu_dereference(net->nf.hooks[NFPROTO_BRIDGE][hook]);
+            elem && nf_hook_entry_priority(elem) <= NF_BR_PRI_BRNF;
+            elem = rcu_dereference(elem->next))
+               ;
 
        if (!elem)
                return okfn(net, sk, skb);
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
index 2bb46e2d8d30..ce6adfae521a 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -107,10 +107,9 @@ int nf_register_net_hook(struct net *net, const struct 
nf_hook_ops *reg)
        mutex_lock(&nf_hook_mutex);
 
        /* Find the spot in the list */
-       while ((p = nf_entry_dereference(*pp)) != NULL) {
+       for (; (p = nf_entry_dereference(*pp)) != NULL; pp = &p->next) {
                if (reg->priority < nf_hook_entry_priority(p))
                        break;
-               pp = &p->next;
        }
        rcu_assign_pointer(entry->next, p);
        rcu_assign_pointer(*pp, entry);
@@ -137,12 +136,11 @@ void nf_unregister_net_hook(struct net *net, const struct 
nf_hook_ops *reg)
                return;
 
        mutex_lock(&nf_hook_mutex);
-       while ((p = nf_entry_dereference(*pp)) != NULL) {
+       for (; (p = nf_entry_dereference(*pp)) != NULL; pp = &p->next) {
                if (nf_hook_entry_ops(p) == reg) {
                        rcu_assign_pointer(*pp, p->next);
                        break;
                }
-               pp = &p->next;
        }
        mutex_unlock(&nf_hook_mutex);
        if (!p) {
-- 
2.1.4

Reply via email to