From: Eric Dumazet <[email protected]>
Date: Mon, 1 Oct 2018 23:24:26 -0700
> syzkaller was able to hit the WARN_ON(sock_owned_by_user(sk));
> in tcp_close()
>
> While a socket is being closed, it is very possible other
> threads find it in rtnetlink dump.
>
> tcp_get_info() will acquire the socket lock for a short amount
> of time (slow = lock_sock_fast(sk)/unlock_sock_fast(sk, slow);),
> enough to trigger the warning.
>
> Fixes: 67db3e4bfbc9 ("tcp: no longer hold ehash lock while calling
> tcp_get_info()")
> Signed-off-by: Eric Dumazet <[email protected]>
> Reported-by: syzbot <[email protected]>
Applied.