David Miller wrote:
quoted hunk ↗ jump to hunk
From: Rick Jones <redacted>
Date: Fri, 31 Aug 2007 13:59:50 -0700
quoted
ip is at tcp_rto_min+0x20/0x40
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 1ee7212..bbad2cd 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -560,7 +560,7 @@ static u32 tcp_rto_min(struct sock *sk)
struct dst_entry *dst = __sk_dst_get(sk);
u32 rto_min = TCP_RTO_MIN;
- if (dst_metric_locked(dst, RTAX_RTO_MIN))
+ if (dst && dst_metric_locked(dst, RTAX_RTO_MIN))
rto_min = dst->metrics[RTAX_RTO_MIN-1];
return rto_min;
}
Applied and beating on it with a while loop doing a bunch of ip route
del add change stuff while netperf TCP_CRR tests are running. Thusfar
things seem OK wrt the system staying alive, but since I only saw the
failure once I'm not sure how much that is really saying.
I'm going to go ahead and take a look at input vs output units and
differences between those with rto_min vs rtt.
rick jones