mac80211_hwsim: check that n_limits makes sense
authorJohannes Berg <johannes.berg@intel.com>
Tue, 15 Jan 2019 13:24:23 +0000 (14:24 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Sat, 19 Jan 2019 08:10:30 +0000 (09:10 +0100)
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: 99e3a44bac37 ("mac80211_hwsim: allow setting iftype support")
Reported-by: syzbot+73fd8b0aa60c67fa4b60@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/mac80211_hwsim.c

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