diff options
| author | Arnaldo Carvalho de Melo <acme@conectiva.com.br> | 2005-02-21 18:48:28 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-02-21 18:48:28 -0800 |
| commit | 0f4389e9ea7fab8b28c40a1730c1b895211430a8 (patch) | |
| tree | 7fe20b3208391866de50776de90ba829934e215b /net/ipv4/tcp_timer.c | |
| parent | f7b4ca436467077cb9ca69763e5fe2c643892b85 (diff) | |
[TCP]: Fix excessive stack usage resulting in OOPS with 4KSTACKS.
Various routines were putting a full struct tcp_sock on
the local stack. What they really wanted was a subset
of this information when doing TCP options processing
when we only have a mini-socket (for example in SYN-RECVD
and TIME_WAIT states).
Therefore pull out the needed information into a sub-struct
and use that in the TCP options processing routines.
Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
| -rw-r--r-- | net/ipv4/tcp_timer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index c3751508ed24..84844eeeb654 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -353,7 +353,7 @@ static void tcp_retransmit_timer(struct sock *sk) if (tp->retransmits == 0) { if (tp->ca_state == TCP_CA_Disorder || tp->ca_state == TCP_CA_Recovery) { - if (tp->sack_ok) { + if (tp->rx_opt.sack_ok) { if (tp->ca_state == TCP_CA_Recovery) NET_INC_STATS_BH(LINUX_MIB_TCPSACKRECOVERYFAIL); else |
