]> git.karo-electronics.de Git - karo-tx-linux.git/commit
IPVS netns exit causes crash in conntrack
authorHans Schillstrom <hans.schillstrom@ericsson.com>
Mon, 13 Jun 2011 07:06:57 +0000 (09:06 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Sat, 9 Jul 2011 06:15:41 +0000 (23:15 -0700)
commit6b2f7b61532834cd42f6b89294c3ce0ace801476
tree605d12fa4b6284bc77e9164ee34261a85f0c29a0
parenta6e5fedf94a24caa2bd80dd83a81d245b1b895b4
IPVS netns exit causes crash in conntrack

commit 8f4e0a18682d91abfad72ede3d3cb5f3ebdf54b4 upstream.

Quote from Patric Mc Hardy
"This looks like nfnetlink.c excited and destroyed the nfnl socket, but
ip_vs was still holding a reference to a conntrack. When the conntrack
got destroyed it created a ctnetlink event, causing an oops in
netlink_has_listeners when trying to use the destroyed nfnetlink
socket."

If nf_conntrack_netlink is loaded before ip_vs this is not a problem.

This patch simply avoids calling ip_vs_conn_drop_conntrack()
when netns is dying as suggested by Julian.

Signed-off-by: Hans Schillstrom <hans.schillstrom@ericsson.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
net/netfilter/ipvs/ip_vs_conn.c
net/netfilter/ipvs/ip_vs_core.c