diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2014-12-15 06:25:38 -0500 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2014-12-18 08:38:09 -0500 |
commit | 31a60ed1e95ab8afbadb65599bef12b195080a0c (patch) | |
tree | 0be2e75a0554a2c1e1c01c6708af80c7388b6e74 /include/net/cfg80211.h | |
parent | 0f8b82456178d558f14011e06ebf9af937c4b197 (diff) |
nl80211: Convert sched_scan_req pointer to RCU pointer
Because of possible races when accessing sched_scan_req pointer in
rdev, the sched_scan_req is converted to RCU pointer.
Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/cfg80211.h')
-rw-r--r-- | include/net/cfg80211.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 4bc1fc9971a5..45d4d7292e53 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1516,6 +1516,7 @@ struct cfg80211_match_set { | |||
1516 | * @mac_addr_mask: MAC address mask used with randomisation, bits that | 1516 | * @mac_addr_mask: MAC address mask used with randomisation, bits that |
1517 | * are 0 in the mask should be randomised, bits that are 1 should | 1517 | * are 0 in the mask should be randomised, bits that are 1 should |
1518 | * be taken from the @mac_addr | 1518 | * be taken from the @mac_addr |
1519 | * @rcu_head: RCU callback used to free the struct | ||
1519 | */ | 1520 | */ |
1520 | struct cfg80211_sched_scan_request { | 1521 | struct cfg80211_sched_scan_request { |
1521 | struct cfg80211_ssid *ssids; | 1522 | struct cfg80211_ssid *ssids; |
@@ -1537,6 +1538,7 @@ struct cfg80211_sched_scan_request { | |||
1537 | struct wiphy *wiphy; | 1538 | struct wiphy *wiphy; |
1538 | struct net_device *dev; | 1539 | struct net_device *dev; |
1539 | unsigned long scan_start; | 1540 | unsigned long scan_start; |
1541 | struct rcu_head rcu_head; | ||
1540 | 1542 | ||
1541 | /* keep last */ | 1543 | /* keep last */ |
1542 | struct ieee80211_channel *channels[0]; | 1544 | struct ieee80211_channel *channels[0]; |