| From 4e03a84a6d99acf8aaebf097506ffca1db716e1c Mon Sep 17 00:00:00 2001 |
| From: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> |
| Date: Thu, 9 Apr 2020 13:59:06 +0530 |
| Subject: [PATCH] mac80211: sta_info: Add lockdep condition for RCU list usage |
| |
| commit 8ca47eb9f9e4e10e7e7fa695731a88941732c38d upstream. |
| |
| The function sta_info_get_by_idx() uses RCU list primitive. |
| It is called with local->sta_mtx held from mac80211/cfg.c. |
| Add lockdep expression to avoid any false positive RCU list warnings. |
| |
| Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> |
| Link: https://lore.kernel.org/r/20200409082906.27427-1-madhuparnabhowmik10@gmail.com |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c |
| index 9dae48c47d70..b0b3ea3cbd56 100644 |
| --- a/net/mac80211/sta_info.c |
| +++ b/net/mac80211/sta_info.c |
| @@ -217,7 +217,8 @@ struct sta_info *sta_info_get_by_idx(struct ieee80211_sub_if_data *sdata, |
| struct sta_info *sta; |
| int i = 0; |
| |
| - list_for_each_entry_rcu(sta, &local->sta_list, list) { |
| + list_for_each_entry_rcu(sta, &local->sta_list, list, |
| + lockdep_is_held(&local->sta_mtx)) { |
| if (sdata != sta->sdata) |
| continue; |
| if (i < idx) { |
| -- |
| 2.7.4 |
| |