On 3/17/23 8:23 AM, Daniel Borkmann wrote:
From the function itself what is not clear whether
callers that replace an existing one should do the synchronize_rcu() themselves
or if this should
be part of tcp_update_congestion_control?
bpf_struct_ops_map_free (in patch 1) also does synchronize_rcu() for another
reason (bpf_setsockopt), so the caller (bpf_struct_ops) is doing it. From
looking at tcp_unregister_congestion_control(), make sense that it is more
correct to have another synchronize_rcu() also in tcp_update_congestion_control
in case there will be other non bpf_struct_ops caller doing update in the future.