netfilter: ctnetlink: fix regression in expectation handling
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 6 Apr 2009 15:47:20 +0000 (17:47 +0200)
committerPatrick McHardy <kaber@trash.net>
Mon, 6 Apr 2009 15:47:20 +0000 (17:47 +0200)
commit83731671d9e6878c0a05d309c68fb71c16d3235a
treee74df7769d32c4aad6a080796f32a7e09009a7ae
parent3ae16f13027c26cb4c227392116c2027524a6444
netfilter: ctnetlink: fix regression in expectation handling

This patch fixes a regression (introduced by myself in commit 19abb7b:
netfilter: ctnetlink: deliver events for conntracks changed from
userspace) that results in an expectation re-insertion since
__nf_ct_expect_check() may return 0 for expectation timer refreshing.

This patch also removes a unnecessary refcount bump that
pretended to avoid a possible race condition with event delivery
and expectation timers (as said, not needed since we hold a
reference to the object since until we finish the expectation
setup). This also merges nf_ct_expect_related_report() and
nf_ct_expect_related() which look basically the same.

Reported-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
include/net/netfilter/nf_conntrack_expect.h
net/netfilter/nf_conntrack_expect.c