diff options
author | Eric Dumazet <edumazet@google.com> | 2023-08-02 13:15:00 +0000 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-08-03 10:58:24 -0700 |
commit | ddf251fa2bc1d3699eec0bae6ed0bc373b8fda79 (patch) | |
tree | 88f728828a37d6926edc2343f1063e8220398a8f /certs/extract-cert.c | |
parent | d5d986ce42c71a7562d32c4e21e026b0f87befec (diff) |
tcp_metrics: fix data-race in tcpm_suck_dst() vs fastopen
Whenever tcpm_new() reclaims an old entry, tcpm_suck_dst()
would overwrite data that could be read from tcp_fastopen_cache_get()
or tcp_metrics_fill_info().
We need to acquire fastopen_seqlock to maintain consistency.
For newly allocated objects, tcpm_new() can switch to kzalloc()
to avoid an extra fastopen_seqlock acquisition.
Fixes: 1fe4c481ba63 ("net-tcp: Fast Open client - cookie cache")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Yuchung Cheng <ycheng@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://lore.kernel.org/r/20230802131500.1478140-7-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'certs/extract-cert.c')
0 files changed, 0 insertions, 0 deletions