netfilter: nf_conntrack: fix ct refcount leak in l4proto->error()
authorPablo Neira Ayuso <pablo@netfilter.org>
Thu, 2 Jun 2011 13:08:45 +0000 (15:08 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sun, 5 Jun 2011 23:37:02 +0000 (01:37 +0200)
commit88ed01d17b44bc2bed4ad4835d3b1099bff3dd71
tree619e093aecca3e0e1233e7eb62055265c13835e2
parentd9be76f38526dccf84062e3ac3ed3a6a97698565
netfilter: nf_conntrack: fix ct refcount leak in l4proto->error()

This patch fixes a refcount leak of ct objects that may occur if
l4proto->error() assigns one conntrack object to one skbuff. In
that case, we have to skip further processing in nf_conntrack_in().

With this patch, we can also fix wrong return values (-NF_ACCEPT)
for special cases in ICMP[v6] that should not bump the invalid/error
statistic counters.

Reported-by: Zoltan Menyhart <Zoltan.Menyhart@bull.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/ipv4/netfilter/nf_conntrack_proto_icmp.c
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
net/netfilter/nf_conntrack_core.c