diff options
author | Eric Dumazet <[email protected]> | 2024-05-28 12:52:53 +0000 |
---|---|---|
committer | Jakub Kicinski <[email protected]> | 2024-05-29 17:21:36 -0700 |
commit | fde6f897f2a184546bf5516ac736523ef24dc6a7 (patch) | |
tree | fc8014baaf67f7eb33fa5249a7c068a43438c7cc /tools/perf/scripts/python/syscall-counts-by-pid.py | |
parent | 5ce4645c23cf5f048eb8e9ce49e514bababdee85 (diff) |
tcp: fix races in tcp_v[46]_err()
These functions have races when they:
1) Write sk->sk_err
2) call sk_error_report(sk)
3) call tcp_done(sk)
As described in prior patches in this series:
An smp_wmb() is missing.
We should call tcp_done() before sk_error_report(sk)
to have consistent tcp_poll() results on SMP hosts.
Use tcp_done_with_error() where we centralized the
correct sequence.
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <[email protected]>
Acked-by: Neal Cardwell <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/syscall-counts-by-pid.py')
0 files changed, 0 insertions, 0 deletions