From: Karthikeyan Periyasamy Date: Wed, 5 Feb 2020 01:22:28 +0000 (+0530) Subject: ath11k: fix rcu lock protect in peer assoc confirmation X-Git-Tag: v5.15~4200^2~86^2~26^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=db0889aba2629e05e555b3e4b29d5eb0ae97efec;p=platform%2Fkernel%2Flinux-starfive.git ath11k: fix rcu lock protect in peer assoc confirmation ath11k_mac_get_ar_by_vdev_id() get protected under rcu lock and unlock. peer association confirmation event get used this API without rcu protection, so corrected it. Signed-off-by: Karthikeyan Periyasamy Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c index a9b301c..9cbe038d 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.c +++ b/drivers/net/wireless/ath/ath11k/wmi.c @@ -5345,15 +5345,18 @@ static void ath11k_peer_assoc_conf_event(struct ath11k_base *ab, struct sk_buff "peer assoc conf ev vdev id %d macaddr %pM\n", peer_assoc_conf.vdev_id, peer_assoc_conf.macaddr); + rcu_read_lock(); ar = ath11k_mac_get_ar_by_vdev_id(ab, peer_assoc_conf.vdev_id); if (!ar) { ath11k_warn(ab, "invalid vdev id in peer assoc conf ev %d", peer_assoc_conf.vdev_id); + rcu_read_unlock(); return; } complete(&ar->peer_assoc_done); + rcu_read_unlock(); } static void ath11k_update_stats_event(struct ath11k_base *ab, struct sk_buff *skb)