From: Veerendranath Jakkam Date: Wed, 4 Sep 2024 14:20:21 +0000 (+0530) Subject: wifi: cfg80211: Avoid RCU debug splat in __cfg80211_bss_update error paths X-Git-Tag: v6.12-rc1~232^2~41^2~26 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=f54a1baee098170b13b624ca5ed2afdb4d29edbc;p=linux-block.git wifi: cfg80211: Avoid RCU debug splat in __cfg80211_bss_update error paths Replace rcu_dereference() with rcu_access_pointer() since we already hold the lock and own the 'tmp' at this point. This is needed to avoid suspicious rcu_dereference_check warnings in__cfg80211_bss_update error paths. Signed-off-by: Veerendranath Jakkam Link: https://patch.msgid.link/20240904142021.3887360-1-quic_vjakkam@quicinc.com Signed-off-by: Johannes Berg --- diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 3ff818849d83..1ef6448bc636 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -2008,10 +2008,10 @@ __cfg80211_bss_update(struct cfg80211_registered_device *rdev, return found; free_ies: - ies = (void *)rcu_dereference(tmp->pub.beacon_ies); + ies = (void *)rcu_access_pointer(tmp->pub.beacon_ies); if (ies) kfree_rcu(ies, rcu_head); - ies = (void *)rcu_dereference(tmp->pub.proberesp_ies); + ies = (void *)rcu_access_pointer(tmp->pub.proberesp_ies); if (ies) kfree_rcu(ies, rcu_head);