public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
	Zwane Mwaikambo <zwane@arm.linux.org.uk>,
	"Theodore Ts'o" <tytso@mit.edu>,
	Randy Dunlap <rdunlap@xenotime.net>,
	Chuck Wolber <chuckw@quantumlinux.com>,
	torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
	ja@ssi.bg, davem@davemloft.net, ratz@drugphish.ch
Subject: [patch 10/11] ipvs: fix connection leak if expire_nodest_conn=1
Date: Fri, 23 Dec 2005 14:28:02 -0800	[thread overview]
Message-ID: <20051223222802.GK18252@kroah.com> (raw)
In-Reply-To: <20051223222652.GA18252@kroah.com>

[-- Attachment #1: ipvs-fix-connection-leak.patch --]
[-- Type: text/plain, Size: 1375 bytes --]

From: Julian Anastasov <ja@ssi.bg>


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.

Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Roberto Nibali <ratz@drugphish.ch>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 net/ipv4/ipvs/ip_vs_core.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

--- linux-2.6.14.1.orig/net/ipv4/ipvs/ip_vs_core.c
+++ linux-2.6.14.1/net/ipv4/ipvs/ip_vs_core.c
@@ -1009,11 +1009,10 @@ ip_vs_in(unsigned int hooknum, struct sk
 		if (sysctl_ip_vs_expire_nodest_conn) {
 			/* try to expire the connection immediately */
 			ip_vs_conn_expire_now(cp);
-		} else {
-			/* don't restart its timer, and silently
-			   drop the packet. */
-			__ip_vs_conn_put(cp);
 		}
+		/* don't restart its timer, and silently
+		   drop the packet. */
+		__ip_vs_conn_put(cp);
 		return NF_DROP;
 	}
 

--

  parent reply	other threads:[~2005-12-23 22:28 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20051109182205.294803000@press.kroah.org>
2005-11-09 18:36 ` [patch 00/11] - stable review Greg KH
2005-11-09 18:36   ` [patch 01/11] prism54 : Fix frame length Greg KH
2005-11-09 18:36   ` [patch 02/11] fix XFS_QUOTA for modular XFS Greg KH
2005-11-09 18:36   ` [patch 03/11] Oops on suspend after on-the-fly switch to anticipatory i/o scheduler - PowerBook5, 4 Greg KH
2005-11-09 18:36   ` [patch 04/11] USB: always export interface information for modalias Greg KH
2005-11-09 18:36   ` [patch 05/11] tcp: BIC max increment too large Greg KH
2005-11-09 18:36   ` [patch 06/11] airo.c/airo_cs.c: correct prototypes Greg KH
2005-11-09 18:37   ` [patch 07/11] NET: Fix zero-size datagram reception Greg KH
2005-11-09 18:37   ` [patch 08/11] - fix signal->live leak in copy_process() Greg KH
2005-11-09 18:37   ` [patch 09/11] fix de_thread() vs send_group_sigqueue() race Greg KH
2005-11-09 18:37   ` [patch 10/11] ipvs: fix connection leak if expire_nodest_conn=1 Greg KH
2005-11-09 18:37   ` [patch 11/11] fix alpha breakage Greg KH
2005-11-09 20:10   ` [stable] [patch 00/11] - stable review Greg KH
2005-11-09 21:01     ` Chris Wright
2005-11-09 21:06     ` Zwane Mwaikambo
2005-12-23 22:26 ` Greg KH
2005-12-23 22:27   ` [patch 01/11] prism54 : Fix frame length Greg KH
2005-12-23 22:27   ` [patch 02/11] fix XFS_QUOTA for modular XFS Greg KH
2005-12-23 22:27   ` [patch 03/11] Oops on suspend after on-the-fly switch to anticipatory i/o scheduler - PowerBook5, 4 Greg KH
2005-12-23 22:27   ` [patch 04/11] USB: always export interface information for modalias Greg KH
2005-12-23 22:27   ` [patch 05/11] tcp: BIC max increment too large Greg KH
2005-12-23 22:27   ` [patch 06/11] airo.c/airo_cs.c: correct prototypes Greg KH
2005-12-23 22:27   ` [patch 07/11] NET: Fix zero-size datagram reception Greg KH
2005-12-23 22:27   ` [patch 08/11] - fix signal->live leak in copy_process() Greg KH
2005-12-23 22:27   ` [patch 09/11] fix de_thread() vs send_group_sigqueue() race Greg KH
2005-12-23 22:28   ` Greg KH [this message]
2005-12-23 22:28   ` [patch 11/11] fix alpha breakage Greg KH
2005-12-23 22:46   ` [stable] [patch 00/11] - stable review Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20051223222802.GK18252@kroah.com \
    --to=gregkh@suse.de \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=chuckw@quantumlinux.com \
    --cc=davem@davemloft.net \
    --cc=ja@ssi.bg \
    --cc=jmforbes@linuxtx.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ratz@drugphish.ch \
    --cc=rdunlap@xenotime.net \
    --cc=stable@kernel.org \
    --cc=torvalds@osdl.org \
    --cc=tytso@mit.edu \
    --cc=zwane@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox