mirror of
https://github.com/torvalds/linux.git
synced 2024-11-29 23:51:37 +00:00
mac80211: properly validate/translate IW_AUTH_MFP values
Make sure nobody passes in bogus values, and translate the values (although it isn't necessary). Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
a472780100
commit
e4e5e2b0b8
@ -982,9 +982,21 @@ static int ieee80211_ioctl_siwauth(struct net_device *dev,
|
||||
break;
|
||||
}
|
||||
if (sdata->vif.type == NL80211_IFTYPE_STATION ||
|
||||
sdata->vif.type == NL80211_IFTYPE_ADHOC)
|
||||
sdata->u.sta.mfp = data->value;
|
||||
else
|
||||
sdata->vif.type == NL80211_IFTYPE_ADHOC) {
|
||||
switch (data->value) {
|
||||
case IW_AUTH_MFP_DISABLED:
|
||||
sdata->u.sta.mfp = IEEE80211_MFP_DISABLED;
|
||||
break;
|
||||
case IW_AUTH_MFP_OPTIONAL:
|
||||
sdata->u.sta.mfp = IEEE80211_MFP_OPTIONAL;
|
||||
break;
|
||||
case IW_AUTH_MFP_REQUIRED:
|
||||
sdata->u.sta.mfp = IEEE80211_MFP_REQUIRED;
|
||||
break;
|
||||
default:
|
||||
ret = -EINVAL;
|
||||
}
|
||||
} else
|
||||
ret = -EOPNOTSUPP;
|
||||
break;
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user