summaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp.c
diff options
context:
space:
mode:
authorHerbert Xu2005-09-06 03:55:48 +0200
committerDavid S. Miller2005-09-06 03:55:48 +0200
commitfb5f5e6e0cebd574be737334671d1aa8f170d5f3 (patch)
treeedc95c215cb4929dea3cf391234f648b22f80405 /net/ipv4/tcp.c
parent[NET]: 2.6.13 breaks libpcap (and tcpdump) (diff)
downloadkernel-qcow2-linux-fb5f5e6e0cebd574be737334671d1aa8f170d5f3.tar.gz
kernel-qcow2-linux-fb5f5e6e0cebd574be737334671d1aa8f170d5f3.tar.xz
kernel-qcow2-linux-fb5f5e6e0cebd574be737334671d1aa8f170d5f3.zip
[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@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r--net/ipv4/tcp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index cbcc9fc47783..f3f0013a9580 100644
--- 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;