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

Commit 1ff79dfa authored by Johannes Berg's avatar Johannes Berg
Browse files

nl80211: check channel switch validity better



Before allowing userspace to initiate a channel switch, check
that it's actually connected in some sense. Also use a more
appropriate error code for the not connected case.

Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c782bf8c
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -5771,10 +5771,15 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info)

		/* useless if AP is not running */
		if (!wdev->beacon_interval)
			return -EINVAL;
			return -ENOTCONN;
		break;
	case NL80211_IFTYPE_ADHOC:
		if (!wdev->ssid_len)
			return -ENOTCONN;
		break;
	case NL80211_IFTYPE_MESH_POINT:
		if (!wdev->mesh_id_len)
			return -ENOTCONN;
		break;
	default:
		return -EOPNOTSUPP;