Message ID | 20190323223339.13703-1-kjlu@umn.edu |
---|---|
State | Awaiting Upstream |
Delegated to: | David Miller |
Headers | show |
Series | net: mwifiex: fix a missing check of ssid | expand |
On Sat, Mar 23, 2019 at 3:34 PM Kangjie Lu <kjlu@umn.edu> wrote:
> sme->ssid may be invalid and thus should be checked.
Under what conditions are you seeing this? I see that brcmfmac, for
one, also has a similar check, but IIUC, the connect API always
pre-checks that there's an SSID provided:
static int nl80211_connect(struct sk_buff *skb, struct genl_info *info)
{
struct cfg80211_registered_device *rdev = info->user_ptr[0];
struct net_device *dev = info->user_ptr[1];
struct cfg80211_connect_params connect;
struct wiphy *wiphy;
struct cfg80211_cached_keys *connkeys = NULL;
int err;
memset(&connect, 0, sizeof(connect));
if (!info->attrs[NL80211_ATTR_SSID] ||
!nla_len(info->attrs[NL80211_ATTR_SSID]))
return -EINVAL;
...
connect.ssid = nla_data(info->attrs[NL80211_ATTR_SSID]);
So this patch shouldn't be necessary.
Perhaps I'm missing something though.
Regards,
Brian
diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index c46f0a54a0c7..a46820cf609f 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -2343,6 +2343,12 @@ mwifiex_cfg80211_connect(struct wiphy *wiphy, struct net_device *dev, struct mwifiex_adapter *adapter = priv->adapter; int ret; + if (!sme->ssid) { + mwifiex_dbg(adapter, ERROR, + "%s: Invalid ssid\n", dev->name); + return -EOPNOTSUPP; + } + if (GET_BSS_ROLE(priv) != MWIFIEX_BSS_ROLE_STA) { mwifiex_dbg(adapter, ERROR, "%s: reject infra assoc request in non-STA role\n",
sme->ssid may be invalid and thus should be checked. The fix adds such a check and returns an error if it is invalid. Signed-off-by: Kangjie Lu <kjlu@umn.edu> --- drivers/net/wireless/marvell/mwifiex/cfg80211.c | 6 ++++++ 1 file changed, 6 insertions(+)