Loading net/ipv4/tcp.c +9 −3 Original line number Diff line number Diff line Loading @@ -3255,14 +3255,20 @@ restart: sock_hold(sk); spin_unlock_bh(lock); lock_sock(sk); local_bh_disable(); bh_lock_sock(sk); if (!sock_flag(sk, SOCK_DEAD)) { smp_wmb(); /* be consistent with tcp_reset */ sk->sk_err = ETIMEDOUT; sk->sk_error_report(sk); tcp_done(sk); } bh_unlock_sock(sk); local_bh_enable(); release_sock(sk); sock_put(sk); goto restart; Loading Loading
net/ipv4/tcp.c +9 −3 Original line number Diff line number Diff line Loading @@ -3255,14 +3255,20 @@ restart: sock_hold(sk); spin_unlock_bh(lock); lock_sock(sk); local_bh_disable(); bh_lock_sock(sk); if (!sock_flag(sk, SOCK_DEAD)) { smp_wmb(); /* be consistent with tcp_reset */ sk->sk_err = ETIMEDOUT; sk->sk_error_report(sk); tcp_done(sk); } bh_unlock_sock(sk); local_bh_enable(); release_sock(sk); sock_put(sk); goto restart; Loading