Skip to contentSkip to conversation

TCP : use LIMIT_NETDEBUG in tcp_retransmit_timer()

PATCH In review Eric Dumazet 2 participants 4 messages Jun 4, 2007 – Jun 5, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 TCP : use LIMIT_NETDEBUG in tcp_retransmit_timer()

LIMIT_NETDEBUG allows the admin to disable some warning messages (echo 0 >/proc/sys/net/core/warnings).

The "TCP: Treason uncloaked!" message can use this facility.

net/ipv4/tcp_timer.c +2 -2
index e613401..e9b151b 100644
@@ -292,9 +292,9 @@ static void tcp_retransmit_timer(struct 
 		 * we cannot allow such beasts to hang infinitely.
 		 */
 #ifdef TCP_DEBUG
-		if (net_ratelimit()) {
+		if (1) {
 			struct inet_sock *inet = inet_sk(sk);
-			printk(KERN_DEBUG "TCP: Treason uncloaked! Peer %u.%u.%u.%u:%u/%u shrinks window %u:%u. Repaired.\n",
+			LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer %u.%u.%u.%u:%u/%u shrinks window %u:%u. Repaired.\n",
 			       NIPQUAD(inet->daddr), ntohs(inet->dport),
 			       inet->num, tp->snd_una, tp->snd_nxt);
 		}
maintainer
#1 lore raw

From: Eric Dumazet <[email protected]>
Date: Mon, 04 Jun 2007 09:13:40 +0200

Quoted 6 lines

LIMIT_NETDEBUG allows the admin to disable some warning messages (echo 0

Quoted 1 line

/proc/sys/net/core/warnings).

The "TCP: Treason uncloaked!" message can use this facility.

That's pretty difficult to trigger remotely, and the last time we saw a legitimate case of this it was actually a bug in the Linux TCP stack which we've long since fixed.

I would rather not let people easily disable this, since it finds bugs and I can't see someone seriously exploiting this to spam your logs.

I suppose you disagree :)

#2 lore raw
Quoted 14 lines · David Miller

From: Eric Dumazet <[email protected]>
Date: Mon, 04 Jun 2007 09:13:40 +0200

Quoted 6 lines

LIMIT_NETDEBUG allows the admin to disable some warning messages (echo 0

Quoted 1 line

/proc/sys/net/core/warnings).

The "TCP: Treason uncloaked!" message can use this facility.

That's pretty difficult to trigger remotely, and the last time we saw a legitimate case of this it was actually a bug in the Linux TCP stack which we've long since fixed.

Quoted 5 lines

I would rather not let people easily disable this, since it finds bugs and I can't see someone seriously exploiting this to spam your logs.

I suppose you disagree :)

Well, I dont know..

Should I try to contact 222.39.111.164 and kindly ask him not to trigger this annoying message ?

Is this remote peer running an old linux, or is it a bug in the current linux-2.6.22-rc4 kernel that my server runs ?

TCP: Treason uncloaked! Peer 222.39.111.164:3336/443 shrinks window 768445619:768445688. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:1557/443 shrinks window 979986676:979986745. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2819/443 shrinks window 903113077:903113146. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2303/443 shrinks window 919019510:919019579. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2689/443 shrinks window 986306349:986306418. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2811/443 shrinks window 1125084057:1125084126. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2394/443 shrinks window 1141647532:1141647601. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2928/443 shrinks window 1278301359:1278301428. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3034/443 shrinks window 1408574195:1408574264. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2942/443 shrinks window 1453238832:1453238901. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3384/443 shrinks window 1883648213:1883648282. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3069/443 shrinks window 1913770905:1913770974. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2852/443 shrinks window 1956256538:1956256607. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3485/443 shrinks window 2034019830:2034019899. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3104/443 shrinks window 2054229702:2054229771. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2897/443 shrinks window 2070392361:2070392430. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3485/443 shrinks window 2034019830:2034019899. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3626/443 shrinks window 2167403488:2167403557. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3104/443 shrinks window 2054229702:2054229771. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2897/443 shrinks window 2070392361:2070392430. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3626/443 shrinks window 2167403488:2167403557. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2991/443 shrinks window 2283637853:2283637922. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3128/443 shrinks window 2283549171:2283549240. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2991/443 shrinks window 2283637853:2283637922. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3128/443 shrinks window 2283549171:2283549240. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:2991/443 shrinks window 2283637853:2283637922. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3128/443 shrinks window 2283549171:2283549240. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:4075/443 shrinks window 2788112983:2788113052. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:4075/443 shrinks window 2788112983:2788113052. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3786/443 shrinks window 2905215394:2905215463. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:4075/443 shrinks window 2788112983:2788113052. Repaired.
TCP: Treason uncloaked! Peer 222.39.111.164:3786/443 shrinks window 2905215394:2905215463. Repaired.

maintainer
#3 lore raw

From: Eric Dumazet <[email protected]>
Date: Tue, 05 Jun 2007 09:07:26 +0200

Quoted 5 lines

Should I try to contact 222.39.111.164 and kindly ask him not to trigger this annoying message ?

Is this remote peer running an old linux, or is it a bug in the current linux-2.6.22-rc4 kernel that my server runs ?

Grrr, yeah it's their end. And because it's in China with no reverse DNS your chances of getting them to fix this are between slim and none.

I'll add your patch, thanks a lot.