summaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2015-10-05 16:51:03 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2015-10-12 16:54:45 +0200
commit403d89ad9cc076db44c76ab75c7629497d8ddbb2 (patch)
treeab8443a59b8b3f0f1fcac3843357ebedb73cf865 /net/netfilter
parenta29a9a585b2840a205f085a34dfd65c75e86f7c3 (diff)
downloadblackbird-obmc-linux-403d89ad9cc076db44c76ab75c7629497d8ddbb2.tar.gz
blackbird-obmc-linux-403d89ad9cc076db44c76ab75c7629497d8ddbb2.zip
netfilter: xt_CT: don't put back reference to timeout policy object
On success, this shouldn't put back the timeout policy object, otherwise we may have module refcount overflow and we allow deletion of timeout that are still in use. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter')
-rw-r--r--net/netfilter/xt_CT.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/netfilter/xt_CT.c b/net/netfilter/xt_CT.c
index faf32d888198..a03924c1db41 100644
--- a/net/netfilter/xt_CT.c
+++ b/net/netfilter/xt_CT.c
@@ -171,6 +171,9 @@ xt_ct_set_timeout(struct nf_conn *ct, const struct xt_tgchk_param *par,
if (timeout_ext == NULL)
ret = -ENOMEM;
+ rcu_read_unlock();
+ return ret;
+
err_put_timeout:
__xt_ct_tg_timeout_put(timeout);
out:
OpenPOWER on IntegriCloud