Re: kernel BUG at net/ipv4/tcp.c:775! with 2.6.13-git5

From: David S. Miller
Date: Mon Sep 05 2005 - 20:59:00 EST


From: "Colin Harrison" <colin.harrison@xxxxxxxxxx>
Date: Mon, 5 Sep 2005 16:43:44 +0100

> I'm getting the following BUG report with 2.6.13-git5:-

Should be fixed by this patch. And please use netdev@xxxxxxxxxxxxxxx
for networking kernel stuff, thanks.

diff-tree fb5f5e6e0cebd574be737334671d1aa8f170d5f3 (from 1198ad002ad36291817c7bf0308ab9c50ee2571d)
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Mon Sep 5 18:55:48 2005 -0700

[TCP]: Fix TCP_OFF() bug check introduced by previous change.

The TCP_OFF assignment at the bottom of that if block can indeed set
TCP_OFF without setting TCP_PAGE. Since there is not much to be
gained from avoiding this situation, we might as well just zap the
offset. The following patch should fix it.

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -769,10 +769,10 @@ new_segment:
if (off == PAGE_SIZE) {
put_page(page);
TCP_PAGE(sk) = page = NULL;
- TCP_OFF(sk) = off = 0;
+ off = 0;
}
} else
- BUG_ON(off);
+ off = 0;

if (copy > PAGE_SIZE - off)
copy = PAGE_SIZE - off;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/