netfilter: ctnetlink: fix missing refcount increment during dumps
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 24 Jan 2011 18:01:07 +0000 (19:01 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 24 Feb 2011 22:54:36 +0000 (14:54 -0800)
commitec2e8ab605d6a5d17f9b4c8db86f9594b2453280
tree05500f2732f1a303d3ecce098d41f4f99702798b
parent5f72ca2a4c4b60e69b07e6ceecc505e47aba060a
netfilter: ctnetlink: fix missing refcount increment during dumps

commit c71caf4114a0e1da3451cc92fba6a152929cd4c2 upstream.

In 13ee6ac netfilter: fix race in conntrack between dump_table and
destroy, we recovered spinlocks to protect the dump of the conntrack
table according to reports from Stephen and acknowledgments on the
issue from Eric.

In that patch, the refcount bump that allows to keep a reference
to the current ct object was removed. However, we still decrement
the refcount for that object in the output path of
ctnetlink_dump_table():

        if (last)
                nf_ct_put(last)

Cc: Stephen Hemminger <stephen.hemminger@vyatta.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/netfilter/nf_conntrack_netlink.c