[PATCH] wifi: ath11k: fix RCU documentation in ath11k_mac_op_ipv6_changed()
Kalle Valo
kvalo at kernel.org
Tue Jun 11 11:40:16 PDT 2024
Baochen Qiang <quic_bqiang at quicinc.com> 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>
> Signed-off-by: Kalle Valo <quic_kvalo at quicinc.com>
Patch applied to ath-next branch of ath.git, thanks.
53d7c99719e2 wifi: ath11k: fix RCU documentation in ath11k_mac_op_ipv6_changed()
--
https://patchwork.kernel.org/project/linux-wireless/patch/20240531022411.6543-1-quic_bqiang@quicinc.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
More information about the ath11k
mailing list