On 5/30/2024 7:24 PM, Baochen Qiang wrote: > Current documentation on RCU in ath11k_mac_op_ipv6_changed() says: > > /* Note: read_lock_bh() calls rcu_read_lock() */ > read_lock_bh(&idev->lock); > > This is wrong because without enabling CONFIG_PREEMPT_RT > rcu_read_lock() is not called by read_lock_bh(). The reason > why current code works even in a CONFIG_PREEMPT_RT=n kernel > is because atomic_notifier_call_chain() already does that for > us, see: > > int atomic_notifier_call_chain() > { > ... > rcu_read_lock(); > ret = notifier_call_chain(&nh->head, val, v, -1, NULL); > rcu_read_unlock(); > ... > } > > and backtrace: > > ath11k_mac_op_ipv6_changed > ieee80211_ifa6_changed > notifier_call_chain > atomic_notifier_call_chain > > So update the comment to make it correct. > > This is found during code review, compile tested only. > > Fixes: feafe59c8975 ("wifi: ath11k: use RCU when accessing struct inet6_dev::ac_list") > Signed-off-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx> Acked-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>