Re: negative tcp_tw_count and other TIME_WAIT weirdness?

David S. Miller (davem@redhat.com)
Tue, 01 Jul 2003 01:21:07 -0700 (PDT)


From: John Salmon <jsalmon@thesalmons.org>
Date: Mon, 30 Jun 2003 17:25:16 -0700

I have several fairly busy servers reporting a negative value
for tcp_tw_count.

I have a sneaking suspicion that this patch (already in 2.4.22-preX)
will fix your problem.

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.930.114.22 -> 1.930.114.23
# net/ipv4/tcp_minisocks.c 1.13 -> 1.14
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/05/07 olof@austin.ibm.com 1.930.114.23
# [TCP]: tcp_twkill leaves death row list in inconsistent state over tcp_timewait_kill.
# --------------------------------------------
#
diff -Nru a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
--- a/net/ipv4/tcp_minisocks.c Tue Jul 1 01:25:26 2003
+++ b/net/ipv4/tcp_minisocks.c Tue Jul 1 01:25:26 2003
@@ -447,6 +447,8 @@

while((tw = tcp_tw_death_row[tcp_tw_death_row_slot]) != NULL) {
tcp_tw_death_row[tcp_tw_death_row_slot] = tw->next_death;
+ if (tw->next_death)
+ tw->next_death->pprev_death = tw->pprev_death;
tw->pprev_death = NULL;
spin_unlock(&tw_death_lock);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/