diff options
author | Eric Dumazet <edumazet@google.com> | 2024-02-23 20:10:54 +0000 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-02-26 18:40:34 -0800 |
commit | c3718936ec47ae811a7ce9a618b6cb1cda835bab (patch) | |
tree | 4b47a535bf11c39127630a3419a1498e7923e5cd /.cocciconfig | |
parent | 5c237967e632c81db0504cffa26eaa19e7940650 (diff) |
ipv6: anycast: complete RCU handling of struct ifacaddr6
struct ifacaddr6 are already freed after RCU grace period.
Add __rcu qualifier to aca_next pointer, and idev->ac_list
Add relevant rcu_assign_pointer() and dereference accessors.
ipv6_chk_acast_dev() no longer needs to acquire idev->lock.
/proc/net/anycast6 is now purely RCU protected, it no
longer acquires idev->lock.
Similarly in6_dump_addrs() can use RCU protection to iterate
through anycast addresses. It was relying on a mixture of RCU
and RTNL but next patches will get rid of RTNL there.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://lore.kernel.org/r/20240223201054.220534-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to '.cocciconfig')
0 files changed, 0 insertions, 0 deletions