Signed-off-by: Hannes Frederic Sowa <han...@stressinduktion.org> --- net/ipv4/tcp_output.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index ba3621834e7bfa..3f70582578ada0 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -1426,21 +1426,21 @@ EXPORT_SYMBOL(tcp_sync_mss); unsigned int tcp_current_mss(struct sock *sk) { const struct tcp_sock *tp = tcp_sk(sk); - const struct dst_entry *dst = __sk_dst_get(sk); + const struct dst_entry *dst; u32 mss_now; unsigned int header_len; struct tcp_out_options opts; struct tcp_md5sig_key *md5; + rcu_read_lock(); mss_now = tp->mss_cache; - + dst = __sk_dst_get(sk); if (dst) { u32 mtu = dst_mtu(dst); if (mtu != inet_csk(sk)->icsk_pmtu_cookie) mss_now = tcp_sync_mss(sk, mtu); } - rcu_read_lock(); header_len = tcp_established_options(sk, NULL, &opts, &md5) + sizeof(struct tcphdr); rcu_read_unlock(); -- 2.5.5