Merge branch 'tcp-fix-tcp_poll-races'
authorJakub Kicinski <kuba@kernel.org>
Thu, 30 May 2024 00:21:37 +0000 (17:21 -0700)
committerJakub Kicinski <kuba@kernel.org>
Thu, 30 May 2024 00:21:38 +0000 (17:21 -0700)
Eric Dumazet says:

====================
tcp: fix tcp_poll() races

Flakes in packetdrill tests stressing epoll_wait()
were root caused to bad ordering in tcp_write_err()

Precisely, we have to call sk_error_report() after
tcp_done().

When fixing this issue, we discovered tcp_abort(),
tcp_v4_err() and tcp_v6_err() had similar issues.

Since tcp_reset() has the correct ordering,
first patch takes part of it and creates
tcp_done_with_error() helper.
====================

Link: https://lore.kernel.org/r/20240528125253.1966136-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Trivial merge