summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2005-12-05 22:38:16 +0100
committerDavid S. Miller <davem@davemloft.net>2005-12-05 22:38:16 +0100
commit2fdf1faa8e33082d691bcba18814276f2bd5a6f0 (patch)
tree72c789e69e84e4b66d4f5a4162d92233cb0b8b91 /net
parent[NETFILTER]: Fix unbalanced read_unlock_bh in ctnetlink (diff)
downloadlinux-2fdf1faa8e33082d691bcba18814276f2bd5a6f0.tar.xz
linux-2fdf1faa8e33082d691bcba18814276f2bd5a6f0.zip
[NETFILTER]: Don't use conntrack entry after dropping the reference
Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/netfilter/ip_conntrack_netlink.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_netlink.c b/net/ipv4/netfilter/ip_conntrack_netlink.c
index d058ac41bfd3..91fe8f2e38ff 100644
--- a/net/ipv4/netfilter/ip_conntrack_netlink.c
+++ b/net/ipv4/netfilter/ip_conntrack_netlink.c
@@ -728,11 +728,9 @@ ctnetlink_del_conntrack(struct sock *ctnl, struct sk_buff *skb,
return -ENOENT;
}
}
- if (del_timer(&ct->timeout)) {
- ip_conntrack_put(ct);
+ if (del_timer(&ct->timeout))
ct->timeout.function((unsigned long)ct);
- return 0;
- }
+
ip_conntrack_put(ct);
DEBUGP("leaving\n");