diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-30 11:14:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-30 11:14:42 -0400 |
commit | 152a6a9da1bd3ed5dcbbf6ff17c7ebde0eb9a754 (patch) | |
tree | cad354802870b7d4bc0402a6a6da44bd1f610bc6 /net/ipv4/tcp.c | |
parent | cd9bb7e7367c03400d6e918fd3502820fc3b9084 (diff) | |
parent | 80787ebc2bbd8e675d8b9ff8cfa40f15134feebe (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
[IPV4] SNMP: Support OutMcastPkts and OutBcastPkts
[IPV4] SNMP: Support InMcastPkts and InBcastPkts
[IPV4] SNMP: Support InTruncatedPkts
[IPV4] SNMP: Support InNoRoutes
[SNMP]: Add definitions for {In,Out}BcastPkts
[TCP] FRTO: RFC4138 allows Nagle override when new data must be sent
[TCP] FRTO: Delay skb available check until it's mandatory
[XFRM]: Restrict upper layer information by bundle.
[TCP]: Catch skb with S+L bugs earlier
[PATCH] INET : IPV4 UDP lookups converted to a 2 pass algo
[L2TP]: Add the ability to autoload a pppox protocol module.
[SKB]: Introduce skb_queue_walk_safe()
[AF_IUCV/IUCV]: smp_call_function deadlock
[IPV6]: Fix slab corruption running ip6sic
[TCP]: Update references in two old comments
[XFRM]: Export SPD info
[IPV6]: Track device renames in snmp6.
[SCTP]: Fix sctp_getsockopt_local_addrs_old() to use local storage.
[NET]: Remove NETIF_F_INTERNAL_STATS, default to internal stats.
[NETPOLL]: Remove CONFIG_NETPOLL_RX
...
Diffstat (limited to 'net/ipv4/tcp.c')
-rw-r--r-- | net/ipv4/tcp.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 2cf9a898ce50..d6e488668171 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c | |||
@@ -1573,14 +1573,12 @@ void tcp_close(struct sock *sk, long timeout) | |||
1573 | 1573 | ||
1574 | sk_stream_mem_reclaim(sk); | 1574 | sk_stream_mem_reclaim(sk); |
1575 | 1575 | ||
1576 | /* As outlined in draft-ietf-tcpimpl-prob-03.txt, section | 1576 | /* As outlined in RFC 2525, section 2.17, we send a RST here because |
1577 | * 3.10, we send a RST here because data was lost. To | 1577 | * data was lost. To witness the awful effects of the old behavior of |
1578 | * witness the awful effects of the old behavior of always | 1578 | * always doing a FIN, run an older 2.1.x kernel or 2.0.x, start a bulk |
1579 | * doing a FIN, run an older 2.1.x kernel or 2.0.x, start | 1579 | * GET in an FTP client, suspend the process, wait for the client to |
1580 | * a bulk GET in an FTP client, suspend the process, wait | 1580 | * advertise a zero window, then kill -9 the FTP client, wheee... |
1581 | * for the client to advertise a zero window, then kill -9 | 1581 | * Note: timeout is always zero in such a case. |
1582 | * the FTP client, wheee... Note: timeout is always zero | ||
1583 | * in such a case. | ||
1584 | */ | 1582 | */ |
1585 | if (data_was_unread) { | 1583 | if (data_was_unread) { |
1586 | /* Unread data was tossed, zap the connection. */ | 1584 | /* Unread data was tossed, zap the connection. */ |