• Eric Dumazet's avatar
    tcp/dccp: fix lockdep splat in inet_csk_route_req() · a6ca7abe
    Eric Dumazet authored
    This patch fixes the following lockdep splat in inet_csk_route_req()
    
      lockdep_rcu_suspicious
      inet_csk_route_req
      tcp_v4_send_synack
      tcp_rtx_synack
      inet_rtx_syn_ack
      tcp_fastopen_synack_time
      tcp_retransmit_timer
      tcp_write_timer_handler
      tcp_write_timer
      call_timer_fn
    
    Thread running inet_csk_route_req() owns a reference on the request
    socket, so we have the guarantee ireq->ireq_opt wont be changed or
    freed.
    
    lockdep can enforce this invariant for us.
    
    Fixes: c92e8c02 ("tcp/dccp: fix ireq->opt races")
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a6ca7abe
inet_connection_sock.c 30.6 KB