Messages in this thread Patch in this message | | | Date | Mon, 12 Sep 2011 20:06:25 +0100 | From | Alex Bligh <> | Subject | Re: [PATCH] Fix repeatable Oops on container destroy with conntrack |
| |
Pablo,
--On 12 September 2011 20:33:57 +0200 Pablo Neira Ayuso <pablo@netfilter.org> wrote:
> Yes, this is what Alexey was pointing out in the previous email and > why he suggested to move it to nfnetlink_has_listeners (to cover the > expectation case). > > But you're right, we cannot move it to nfnetlink_has_listeners because > of the item->report case. Please, include the expectation part and > resend the patch.
Thanks - see below
-- Alex Bligh
Signed-off-by: Alex Bligh <alex@alex.org.uk> --- net/netfilter/nf_conntrack_netlink.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 482e90c..f44d571 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c @@ -570,6 +570,11 @@ ctnetlink_conntrack_event(unsigned int events, struct nf_ct_event *item) return 0;
net = nf_ct_net(ct); + + /* container deinit, netlink may have died before death_by_timeout */ + if (!net->nfnl) + return 0; + if (!item->report && !nfnetlink_has_listeners(net, group)) return 0;
@@ -1723,6 +1728,10 @@ ctnetlink_expect_event(unsigned int events, struct nf_exp_event *item) } else return 0;
+ /* container deinit, netlink may have died before death_by_timeout */ + if (!net->nfnl) + return 0; + if (!item->report && !nfnetlink_has_listeners(net, group)) return 0;
-- 1.7.5.4
| |