diff options
author | Eric Dumazet <[email protected]> | 2024-02-23 20:10:54 +0000 |
---|---|---|
committer | Jakub Kicinski <[email protected]> | 2024-02-26 18:40:34 -0800 |
commit | c3718936ec47ae811a7ce9a618b6cb1cda835bab (patch) | |
tree | 4b47a535bf11c39127630a3419a1498e7923e5cd /scripts/generate_rust_analyzer.py | |
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 <[email protected]>
Reviewed-by: Jiri Pirko <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'scripts/generate_rust_analyzer.py')
0 files changed, 0 insertions, 0 deletions