diff options
author | Kalle Valo <quic_kvalo@quicinc.com> | 2024-04-11 19:55:15 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2024-04-16 18:25:20 +0300 |
commit | feafe59c897500e11becd238a30be1c33eb188a2 (patch) | |
tree | 8b27596cf712b63b214d6a2ea71da68c56bcba64 /net/mac80211/mesh.c | |
parent | 9ef369973cd2c97cce3388d2c0c7e3c056656e8a (diff) |
wifi: ath11k: use RCU when accessing struct inet6_dev::ac_list
Commit c3718936ec47 ("ipv6: anycast: complete RCU handling of struct
ifacaddr6") converted struct inet6_dev::ac_list to use RCU but missed that
ath11k also accesses this list. Now sparse warns:
drivers/net/wireless/ath/ath11k/mac.c:9145:21: warning: incorrect type in assignment (different address spaces)
drivers/net/wireless/ath/ath11k/mac.c:9145:21: expected struct ifacaddr6 *ifaca6
drivers/net/wireless/ath/ath11k/mac.c:9145:21: got struct ifacaddr6 [noderef] __rcu *ac_list
drivers/net/wireless/ath/ath11k/mac.c:9145:53: warning: incorrect type in assignment (different address spaces)
drivers/net/wireless/ath/ath11k/mac.c:9145:53: expected struct ifacaddr6 *ifaca6
drivers/net/wireless/ath/ath11k/mac.c:9145:53: got struct ifacaddr6 [noderef] __rcu *aca_next
Fix it by using rtnl_dereference(). Also add a note that read_lock_bh() calls
rcu_read_lock() which I was not aware of.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-03125-QCAHSPSWPL_V1_V2_SILICONZ_LITE-3.6510.37
Fixes: c3718936ec47 ("ipv6: anycast: complete RCU handling of struct ifacaddr6")
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240411165516.4070649-2-kvalo@kernel.org
Diffstat (limited to 'net/mac80211/mesh.c')
0 files changed, 0 insertions, 0 deletions