summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2018-06-12 18:36:19 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-06-12 19:35:52 +0200
commitfc6ddbecce440df74fb4491c17c372b52cf5be83 (patch)
treeb812664469498643e9e96cb05c04968c022a2b30 /net
parentnetfilter: ctnetlink: avoid null pointer dereference (diff)
downloadlinux-fc6ddbecce440df74fb4491c17c372b52cf5be83.tar.xz
linux-fc6ddbecce440df74fb4491c17c372b52cf5be83.zip
netfilter: xt_connmark: fix list corruption on rmmod
This needs to use xt_unregister_targets, else new revision is left on the list which then causes list to point to a target struct that has been free'd. Fixes: 472a73e00757 ("netfilter: xt_conntrack: Support bit-shifting for CONNMARK & MARK targets.") Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net')
-rw-r--r--net/netfilter/xt_connmark.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/xt_connmark.c b/net/netfilter/xt_connmark.c
index 94df000abb92..29c38aa7f726 100644
--- a/net/netfilter/xt_connmark.c
+++ b/net/netfilter/xt_connmark.c
@@ -211,7 +211,7 @@ static int __init connmark_mt_init(void)
static void __exit connmark_mt_exit(void)
{
xt_unregister_match(&connmark_mt_reg);
- xt_unregister_target(connmark_tg_reg);
+ xt_unregister_targets(connmark_tg_reg, ARRAY_SIZE(connmark_tg_reg));
}
module_init(connmark_mt_init);