diff options
author | Patrick McHardy <kaber@trash.net> | 2007-03-04 15:59:45 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-03-05 13:25:25 -0800 |
commit | 7d90e86d31e8beeb66d6754aece890ac4a579887 (patch) | |
tree | 8f921e7250fd1e6d9abde9ab48d36164661f97bd | |
parent | dd16704eba171b32ef0cded3a4f562b33b911066 (diff) | |
download | linux-3.10-7d90e86d31e8beeb66d6754aece890ac4a579887.tar.gz linux-3.10-7d90e86d31e8beeb66d6754aece890ac4a579887.tar.bz2 linux-3.10-7d90e86d31e8beeb66d6754aece890ac4a579887.zip |
[NETFILTER]: nfnetlink_log: fix module reference counting
Count module references correctly: after instance_destroy() there
might be timer pending and holding a reference for this netlink instance.
Based on patch by Michal Miroslaw <mirq-linux@rere.qmqm.pl>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/netfilter/nfnetlink_log.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c index b669db56469..d0af8bc3eee 100644 --- a/net/netfilter/nfnetlink_log.c +++ b/net/netfilter/nfnetlink_log.c @@ -133,6 +133,7 @@ instance_put(struct nfulnl_instance *inst) if (inst && atomic_dec_and_test(&inst->use)) { UDEBUG("kfree(inst=%p)\n", inst); kfree(inst); + module_put(THIS_MODULE); } } @@ -228,8 +229,6 @@ _instance_destroy2(struct nfulnl_instance *inst, int lock) /* and finally put the refcount */ instance_put(inst); - - module_put(THIS_MODULE); } static inline void |