aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter/core.c
diff options
context:
space:
mode:
authorAaron Conole <aconole@bytheb.org>2016-11-15 17:48:46 -0500
committerPablo Neira Ayuso <pablo@netfilter.org>2016-12-06 21:42:16 +0100
commit679972f3bef8df7aa04cc99b46f71392ebf0b5f8 (patch)
treeaff2c107d1f2e848a5fbe6288288fbd7c7651e39 /net/netfilter/core.c
parentnetfilter: decouple nf_hook_entry and nf_hook_ops (diff)
downloadlinux-dev-679972f3bef8df7aa04cc99b46f71392ebf0b5f8.tar.xz
linux-dev-679972f3bef8df7aa04cc99b46f71392ebf0b5f8.zip
netfilter: convert while loops to for loops
This is to facilitate converting from a singly-linked list to an array of elements. Signed-off-by: Aaron Conole <aconole@bytheb.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to '')
-rw-r--r--net/netfilter/core.c6
1 files changed, 2 insertions, 4 deletions
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) {