wifi: cfg80211: Avoid RCU debug splat in __cfg80211_bss_update error paths
authorVeerendranath Jakkam <quic_vjakkam@quicinc.com>
Wed, 4 Sep 2024 14:20:21 +0000 (19:50 +0530)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 6 Sep 2024 10:55:43 +0000 (12:55 +0200)
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 <quic_vjakkam@quicinc.com>
Link: https://patch.msgid.link/20240904142021.3887360-1-quic_vjakkam@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/scan.c

index 3ff818849d83a56de9b5a6efca73eca944b7704b..1ef6448bc636c4a08bfd3e061d91da90216de4df 100644 (file)
@@ -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);