LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* Treason uncloaked spams syslog with latest git
@ 2008-03-06 10:47 Thomas Gleixner
  2008-03-06 23:31 ` Andrew Morton
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2008-03-06 10:47 UTC (permalink / raw)
  To: LKML; +Cc: David Miller

Since I updated one of my compile boxen to latest git I get the syslog
flooded with:

TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window 2748077551:2748080447. Repaired.
TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window 2890195332:2890201124. Repaired.
TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window 2880740873:2880745217. Repaired.

This happens _always_ when I compile kernels with distcc or icecc. All
systems involved run Linux with kernels >= 2.6.23 and are on the same
network; no routers, firewalls or other fancy stuff.

Any idea what's going on here ?

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-06 10:47 Treason uncloaked spams syslog with latest git Thomas Gleixner
@ 2008-03-06 23:31 ` Andrew Morton
  2008-03-07 13:54   ` Ilpo Järvinen
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Morton @ 2008-03-06 23:31 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: linux-kernel, davem, netdev

On Thu, 6 Mar 2008 11:47:12 +0100 (CET)
Thomas Gleixner <tglx@linutronix.de> wrote:

> Since I updated one of my compile boxen to latest git I get the syslog
> flooded with:
> 
> TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window 2748077551:2748080447. Repaired.
> TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window 2890195332:2890201124. Repaired.
> TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window 2880740873:2880745217. Repaired.
> 
> This happens _always_ when I compile kernels with distcc or icecc. All
> systems involved run Linux with kernels >= 2.6.23 and are on the same
> network; no routers, firewalls or other fancy stuff.
> 
> Any idea what's going on here ?
> 

(cc netdev)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-06 23:31 ` Andrew Morton
@ 2008-03-07 13:54   ` Ilpo Järvinen
  2008-03-07 19:52     ` Thomas Gleixner
  0 siblings, 1 reply; 8+ messages in thread
From: Ilpo Järvinen @ 2008-03-07 13:54 UTC (permalink / raw)
  To: Thomas Gleixner; +Cc: LKML, David Miller, Netdev, Andrew Morton

On Thu, 6 Mar 2008, Andrew Morton wrote:

> On Thu, 6 Mar 2008 11:47:12 +0100 (CET)
> Thomas Gleixner <tglx@linutronix.de> wrote:
> 
> > Since I updated one of my compile boxen to latest git I get the syslog
> > flooded with:
> > 
> > TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window
> > 2748077551:2748080447. Repaired.
> > TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window
> > 2890195332:2890201124. Repaired.
> > TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window
> > 2880740873:2880745217. Repaired.
> > 
> > This happens _always_ when I compile kernels with distcc or icecc. All
> > systems involved run Linux with kernels >= 2.6.23 and are on the same
> > network; no routers, firewalls or other fancy stuff.
> > 
> > Any idea what's going on here ?
> > 
> 
> (cc netdev)

Could you tcpdump it?

I'm not sure which party was updated to git and on which host(s) you do 
see them?

-- 
 i.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-07 13:54   ` Ilpo Järvinen
@ 2008-03-07 19:52     ` Thomas Gleixner
  2008-03-10 19:48       ` Thomas Gleixner
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2008-03-07 19:52 UTC (permalink / raw)
  To: Ilpo Järvinen; +Cc: LKML, David Miller, Netdev, Andrew Morton

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1167 bytes --]

On Fri, 7 Mar 2008, Ilpo Järvinen wrote:
> On Thu, 6 Mar 2008, Andrew Morton wrote:
> 
> > On Thu, 6 Mar 2008 11:47:12 +0100 (CET)
> > Thomas Gleixner <tglx@linutronix.de> wrote:
> > 
> > > Since I updated one of my compile boxen to latest git I get the syslog
> > > flooded with:
> > > 
> > > TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window
> > > 2748077551:2748080447. Repaired.
> > > TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window
> > > 2890195332:2890201124. Repaired.
> > > TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window
> > > 2880740873:2880745217. Repaired.
> > > 
> > > This happens _always_ when I compile kernels with distcc or icecc. All
> > > systems involved run Linux with kernels >= 2.6.23 and are on the same
> > > network; no routers, firewalls or other fancy stuff.
> > > 
> > > Any idea what's going on here ?
> > > 
> > 
> > (cc netdev)
> 
> Could you tcpdump it?

Will do.
 
> I'm not sure which party was updated to git and on which host(s) you do 
> see them?

The compile machine was updated and I see the messages on that
machine. No such messages on any machine.

Thanks,
	tglx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-07 19:52     ` Thomas Gleixner
@ 2008-03-10 19:48       ` Thomas Gleixner
  2008-03-11 10:20         ` Ilpo Järvinen
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2008-03-10 19:48 UTC (permalink / raw)
  To: Ilpo Järvinen; +Cc: LKML, David Miller, Netdev, Andrew Morton

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1125 bytes --]

On Fri, 7 Mar 2008, Thomas Gleixner wrote:
> On Fri, 7 Mar 2008, Ilpo Järvinen wrote:
> > On Thu, 6 Mar 2008, Andrew Morton wrote:
> > 
> > > On Thu, 6 Mar 2008 11:47:12 +0100 (CET)
> > > Thomas Gleixner <tglx@linutronix.de> wrote:
> > > 
> > > > Since I updated one of my compile boxen to latest git I get the syslog
> > > > flooded with:
> > > > 
> > > > TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window
> > > > 2748077551:2748080447. Repaired.
> > > > TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window
> > > > 2890195332:2890201124. Repaired.
> > > > TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window
> > > > 2880740873:2880745217. Repaired.
> > > > 
> > > > This happens _always_ when I compile kernels with distcc or icecc. All
> > > > systems involved run Linux with kernels >= 2.6.23 and are on the same
> > > > network; no routers, firewalls or other fancy stuff.
> > > > 
> > > > Any idea what's going on here ?
> > > > 
> > > 
> > > (cc netdev)
> > 
> > Could you tcpdump it?
> 
> Will do.

http://www.tglx.de/~tglx/treason.cap

That's on -rc5

Thanks,
	tglx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-10 19:48       ` Thomas Gleixner
@ 2008-03-11 10:20         ` Ilpo Järvinen
  2008-03-11 13:59           ` Thomas Gleixner
  0 siblings, 1 reply; 8+ messages in thread
From: Ilpo Järvinen @ 2008-03-11 10:20 UTC (permalink / raw)
  To: Thomas Gleixner, David Miller; +Cc: LKML, Netdev, Andrew Morton

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3578 bytes --]

On Mon, 10 Mar 2008, Thomas Gleixner wrote:

> On Fri, 7 Mar 2008, Thomas Gleixner wrote:
> > On Fri, 7 Mar 2008, Ilpo Järvinen wrote:
> > > On Thu, 6 Mar 2008, Andrew Morton wrote:
> > > 
> > > > On Thu, 6 Mar 2008 11:47:12 +0100 (CET)
> > > > Thomas Gleixner <tglx@linutronix.de> wrote:
> > > > 
> > > > > Since I updated one of my compile boxen to latest git I get the syslog
> > > > > flooded with:
> > > > > 
> > > > > TCP: Treason uncloaked! Peer 192.168.0.1:10245/56637 shrinks window
> > > > > 2748077551:2748080447. Repaired.
> > > > > TCP: Treason uncloaked! Peer 192.168.0.68:10245/39915 shrinks window
> > > > > 2890195332:2890201124. Repaired.
> > > > > TCP: Treason uncloaked! Peer 192.168.0.65:10245/46058 shrinks window
> > > > > 2880740873:2880745217. Repaired.
> > > > > 
> > > > > This happens _always_ when I compile kernels with distcc or icecc. All
> > > > > systems involved run Linux with kernels >= 2.6.23 and are on the same
> > > > > network; no routers, firewalls or other fancy stuff.
> > > > > 
> > > > > Any idea what's going on here ?
> > > > > 
> > > 
> > > Could you tcpdump it?
> > 
> > Will do.
> 
> http://www.tglx.de/~tglx/treason.cap
> 
> That's on -rc5

Thanks, I think I found the reason. Does the patch below fix it...

-- 
 i.

--
[PATCH net-2.6] [TCP]: Prevent sending past receiver window with TSO (at last skb)

With TSO it was possible to send past the receiver window when
the skb to be sent was the last in the write queue while the
receiver window is the limiting factor. One can notice that
there's a loophole in the tcp_mss_split_point that lacked
a receiver window check for the tcp_write_queue_tail() if also
cwnd was smaller than the full skb.

Noticed by Thomas Gleixner <tglx@linutronix.de> in form of
"Treason uncloaked! Peer ... shrinks window .... Repaired."
messages (the peer didn't actually shrink its window as the
message suggests, we had just sent something past it without
a permission to do so).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---
 net/ipv4/tcp_output.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index cbfef8b..67f84f5 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -1035,6 +1035,13 @@ static void tcp_cwnd_validate(struct sock *sk)
  * introducing MSS oddities to segment boundaries. In rare cases where
  * mss_now != mss_cache, we will request caller to create a small skb
  * per input skb which could be mostly avoided here (if desired).
+ *
+ * We explicitly want to create a request for splitting write queue tail
+ * to a small skb for Nagle purposes while avoiding unnecessary modulos,
+ * thus all the complexity (cwnd_len is always MSS multiple which we
+ * return whenever allowed by the other factors). Basically we need the
+ * modulo only when the receiver window alone is the limiting factor or
+ * when we would be allowed to send the split-due-to-Nagle skb fully.
  */
 static unsigned int tcp_mss_split_point(struct sock *sk, struct sk_buff *skb,
 					unsigned int mss_now, unsigned int cwnd)
@@ -1048,10 +1055,11 @@ static unsigned int tcp_mss_split_point(struct sock *sk, struct sk_buff *skb,
 	if (likely(cwnd_len <= window && skb != tcp_write_queue_tail(sk)))
 		return cwnd_len;
 
-	if (skb == tcp_write_queue_tail(sk) && cwnd_len <= skb->len)
+	needed = min(skb->len, window);
+
+	if (skb == tcp_write_queue_tail(sk) && cwnd_len <= needed)
 		return cwnd_len;
 
-	needed = min(skb->len, window);
 	return needed - needed % mss_now;
 }
 
-- 
1.5.2.2

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-11 10:20         ` Ilpo Järvinen
@ 2008-03-11 13:59           ` Thomas Gleixner
  2008-03-12  0:56             ` David Miller
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Gleixner @ 2008-03-11 13:59 UTC (permalink / raw)
  To: Ilpo Järvinen; +Cc: David Miller, LKML, Netdev, Andrew Morton

[-- Attachment #1: Type: TEXT/PLAIN, Size: 410 bytes --]

On Tue, 11 Mar 2008, Ilpo Järvinen wrote:
> > http://www.tglx.de/~tglx/treason.cap
> > 
> > That's on -rc5
> 
> Thanks, I think I found the reason. Does the patch below fix it...

Yes, it does.

> message suggests, we had just sent something past it without
> a permission to do so).
> 
> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>

Tested-by: Thomas Gleixner <tglx@linutronix.de>

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Treason uncloaked spams syslog with latest git
  2008-03-11 13:59           ` Thomas Gleixner
@ 2008-03-12  0:56             ` David Miller
  0 siblings, 0 replies; 8+ messages in thread
From: David Miller @ 2008-03-12  0:56 UTC (permalink / raw)
  To: tglx; +Cc: ilpo.jarvinen, linux-kernel, netdev, akpm

From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 11 Mar 2008 14:59:53 +0100 (CET)

> On Tue, 11 Mar 2008, Ilpo Järvinen wrote:
> > > http://www.tglx.de/~tglx/treason.cap
> > > 
> > > That's on -rc5
> > 
> > Thanks, I think I found the reason. Does the patch below fix it...
> 
> Yes, it does.
> 
> > message suggests, we had just sent something past it without
> > a permission to do so).
> > 
> > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
> 
> Tested-by: Thomas Gleixner <tglx@linutronix.de>

Patch applied, thanks everyone.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-03-12  0:56 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-03-06 10:47 Treason uncloaked spams syslog with latest git Thomas Gleixner
2008-03-06 23:31 ` Andrew Morton
2008-03-07 13:54   ` Ilpo Järvinen
2008-03-07 19:52     ` Thomas Gleixner
2008-03-10 19:48       ` Thomas Gleixner
2008-03-11 10:20         ` Ilpo Järvinen
2008-03-11 13:59           ` Thomas Gleixner
2008-03-12  0:56             ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).