Search Linux Wireless

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Baochen Qiang <quic_bqiang@xxxxxxxxxxx> 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>
> Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx>

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@xxxxxxxxxxx/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux