[PATCH] wifi: ath11k: fix RCU documentation in ath11k_mac_op_ipv6_changed()

Jeff Johnson quic_jjohnson at quicinc.com
Mon Jun 3 13:06:00 PDT 2024


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 at quicinc.com>
Acked-by: Jeff Johnson <quic_jjohnson at quicinc.com>




More information about the ath11k mailing list