mac80211_hwsim: check that n_limits makes sense

Under certain circumstances, radios created via netlink could
have n_limits be zero and no possible interface types, which
makes no sense. Reject this early to prevent a WARN_ON() in
cfg80211.

Fixes: 99e3a44bac ("mac80211_hwsim: allow setting iftype support")
Reported-by: syzbot+73fd8b0aa60c67fa4b60@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Johannes Berg 2019-01-15 14:24:23 +01:00
parent 8a7fa0c350
commit 9c5d3afac4
1 changed files with 5 additions and 0 deletions

View File

@ -2761,6 +2761,11 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
BIT(NL80211_CHAN_WIDTH_160); BIT(NL80211_CHAN_WIDTH_160);
} }
if (!n_limits) {
err = -EINVAL;
goto failed_hw;
}
data->if_combination.n_limits = n_limits; data->if_combination.n_limits = n_limits;
data->if_combination.max_interfaces = 2048; data->if_combination.max_interfaces = 2048;
data->if_combination.limits = data->if_limits; data->if_combination.limits = data->if_limits;