Files
linux/net/ipv4
Eric Dumazet e6ddc2c3d8 tcp: do not release socket ownership in tcp_close()
commit 8873c064d1 upstream.

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: 67db3e4bfb ("tcp: no longer hold ehash lock while calling tcp_get_info()")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-12-01 09:42:51 +01:00
..
2018-04-12 12:32:22 +02:00
2018-07-22 14:28:44 +02:00
2018-07-28 07:55:41 +02:00
2018-11-04 14:52:50 +01:00
2017-10-12 22:57:11 -07:00
2017-10-21 01:33:19 +01:00
2013-05-31 17:19:05 -07:00