Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e4e5e2b0 authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

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: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent a4727801
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -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: