Skip to content

Commit

Permalink
netfilter: unregister nf hooks, matches and targets in the reverse order
Browse files Browse the repository at this point in the history
Since we register nf hooks, matches and targets in order, we'd better
unregister them in the reverse order.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
  • Loading branch information
Changli Gao authored and Patrick McHardy committed Oct 4, 2010
1 parent e55df53 commit f68c530
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 12 deletions.
6 changes: 2 additions & 4 deletions net/netfilter/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,8 @@ EXPORT_SYMBOL(nf_register_hooks);

void nf_unregister_hooks(struct nf_hook_ops *reg, unsigned int n)
{
unsigned int i;

for (i = 0; i < n; i++)
nf_unregister_hook(&reg[i]);
while (n-- > 0)
nf_unregister_hook(&reg[n]);
}
EXPORT_SYMBOL(nf_unregister_hooks);

Expand Down
12 changes: 4 additions & 8 deletions net/netfilter/x_tables.c
Original file line number Diff line number Diff line change
Expand Up @@ -116,10 +116,8 @@ EXPORT_SYMBOL(xt_register_targets);
void
xt_unregister_targets(struct xt_target *target, unsigned int n)
{
unsigned int i;

for (i = 0; i < n; i++)
xt_unregister_target(&target[i]);
while (n-- > 0)
xt_unregister_target(&target[n]);
}
EXPORT_SYMBOL(xt_unregister_targets);

Expand Down Expand Up @@ -174,10 +172,8 @@ EXPORT_SYMBOL(xt_register_matches);
void
xt_unregister_matches(struct xt_match *match, unsigned int n)
{
unsigned int i;

for (i = 0; i < n; i++)
xt_unregister_match(&match[i]);
while (n-- > 0)
xt_unregister_match(&match[n]);
}
EXPORT_SYMBOL(xt_unregister_matches);

Expand Down

0 comments on commit f68c530

Please sign in to comment.