[IPVS]: fix connection leak if expire_nodest_conn=1
authorJulian Anastasov <ja@ssi.bg>
Tue, 8 Nov 2005 17:40:05 +0000 (09:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 8 Nov 2005 17:40:05 +0000 (09:40 -0800)
commitdc8103f25fd7cfac2c2b295f33edc10f255b4c80
treedb09e8efee33d1e7d4527d81a3c1b0ece03cea33
parent9ee6b535af4c2c97b4e3b88f37f244bf1004ebd4
[IPVS]: fix connection leak if expire_nodest_conn=1

There was a fix in 2.6.13 that changed the behaviour of
ip_vs_conn_expire_now function not to put reference to connection,
its callers should hold write lock or connection refcnt. But we
forgot to convert one caller, when the real server for connection
is unavailable caller should put the connection reference. It
happens only when sysctl var expire_nodest_conn is set to 1 and
such connections never expire. Thanks to Roberto Nibali who found
the problem and tested a 2.4.32-rc2 patch, which is equal to this
2.6 version. Patch for 2.4 is already sent to Marcelo.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Roberto Nibali <ratz@drugphish.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/ipvs/ip_vs_core.c