|
@@ -663,10 +663,13 @@ void tcp_fastopen_cache_get(struct sock *sk, u16 *mss,
|
|
|
void tcp_fastopen_cache_set(struct sock *sk, u16 mss,
|
|
|
struct tcp_fastopen_cookie *cookie, bool syn_lost)
|
|
|
{
|
|
|
+ struct dst_entry *dst = __sk_dst_get(sk);
|
|
|
struct tcp_metrics_block *tm;
|
|
|
|
|
|
+ if (!dst)
|
|
|
+ return;
|
|
|
rcu_read_lock();
|
|
|
- tm = tcp_get_metrics(sk, __sk_dst_get(sk), true);
|
|
|
+ tm = tcp_get_metrics(sk, dst, true);
|
|
|
if (tm) {
|
|
|
struct tcp_fastopen_metrics *tfom = &tm->tcpm_fastopen;
|
|
|
|