nl80211: Use different attrs for BSSID and random MAC addr in scan req
authorVamsi Krishna <vamsin@qti.qualcomm.com>
Fri, 2 Dec 2016 21:59:08 +0000 (23:59 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 9 Dec 2016 11:47:19 +0000 (12:47 +0100)
commit2fa436b3a2a7009c11a3bc03fe0ff4c26e80fd87
tree952e77eef1b4e811b0b3df7a681465857570df2c
parenteeb04a9688f4f939f2a0eaec5a2d53e05e75e691
nl80211: Use different attrs for BSSID and random MAC addr in scan req

NL80211_ATTR_MAC was used to set both the specific BSSID to be scanned
and the random MAC address to be used when privacy is enabled. When both
the features are enabled, both the BSSID and the local MAC address were
getting same value causing Probe Request frames to go with unintended
DA. Hence, this has been fixed by using a different NL80211_ATTR_BSSID
attribute to set the specific BSSID (which was the more recent addition
in cfg80211) for a scan.

Backwards compatibility with old userspace software is maintained to
some extent by allowing NL80211_ATTR_MAC to be used to set the specific
BSSID when scanning without enabling random MAC address use.

Scanning with random source MAC address was introduced by commit
ad2b26abc157 ("cfg80211: allow drivers to support random MAC addresses
for scan") and the issue was introduced with the addition of the second
user for the same attribute in commit 818965d39177 ("cfg80211: Allow a
scan request for a specific BSSID").

Fixes: 818965d39177 ("cfg80211: Allow a scan request for a specific BSSID")
Signed-off-by: Vamsi Krishna <vamsin@qti.qualcomm.com>
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
include/uapi/linux/nl80211.h
net/wireless/nl80211.c