summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nfnetlink_log.c
diff options
context:
space:
mode:
authorMichal Miroslaw2007-03-05 00:58:40 +0100
committerDavid S. Miller2007-03-05 22:25:22 +0100
commit05f7b7b369e039458a77768619dde123d868c78d (patch)
tree571a056e23ef46bdfadddefad08bd1138a58046a /net/netfilter/nfnetlink_log.c
parent[NETFILTER]: nfnetlink_log: fix reference leak (diff)
downloadkernel-qcow2-linux-05f7b7b369e039458a77768619dde123d868c78d.tar.gz
kernel-qcow2-linux-05f7b7b369e039458a77768619dde123d868c78d.tar.xz
kernel-qcow2-linux-05f7b7b369e039458a77768619dde123d868c78d.zip
[NETFILTER]: nfnetlink_log: fix use after free
Paranoia: instance_put() might have freed the inst pointer when we spin_unlock_bh(). Signed-off-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>
Diffstat (limited to 'net/netfilter/nfnetlink_log.c')
-rw-r--r--net/netfilter/nfnetlink_log.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index 62c3f31cdb97..27b844a67ec1 100644
--- a/net/netfilter/nfnetlink_log.c
+++ b/net/netfilter/nfnetlink_log.c
@@ -393,8 +393,8 @@ static void nfulnl_timer(unsigned long data)
spin_lock_bh(&inst->lock);
__nfulnl_send(inst);
- instance_put(inst);
spin_unlock_bh(&inst->lock);
+ instance_put(inst);
}
/* This is an inline function, we don't really care about a long