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

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
...@@ -5771,10 +5771,15 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info) ...@@ -5771,10 +5771,15 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info)
/* useless if AP is not running */ /* useless if AP is not running */
if (!wdev->beacon_interval) if (!wdev->beacon_interval)
return -EINVAL; return -ENOTCONN;
break; break;
case NL80211_IFTYPE_ADHOC: case NL80211_IFTYPE_ADHOC:
if (!wdev->ssid_len)
return -ENOTCONN;
break;
case NL80211_IFTYPE_MESH_POINT: case NL80211_IFTYPE_MESH_POINT:
if (!wdev->mesh_id_len)
return -ENOTCONN;
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment