cfg80211: protect fools returning NULL in add_virtual_intf
Callback add_virtual_intf is supposed to return ERR_PTR and trying to return NULL results in some "Unable to handle kernel paging request", etc. As it may be complicated to debug & trace, let's catch it (WARN). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
c7ab508190
Коммит
d687cbb703
|
@ -2645,7 +2645,10 @@ static int nl80211_new_interface(struct sk_buff *skb, struct genl_info *info)
|
||||||
wdev = rdev_add_virtual_intf(rdev,
|
wdev = rdev_add_virtual_intf(rdev,
|
||||||
nla_data(info->attrs[NL80211_ATTR_IFNAME]),
|
nla_data(info->attrs[NL80211_ATTR_IFNAME]),
|
||||||
type, err ? NULL : &flags, ¶ms);
|
type, err ? NULL : &flags, ¶ms);
|
||||||
if (IS_ERR(wdev)) {
|
if (WARN_ON(!wdev)) {
|
||||||
|
nlmsg_free(msg);
|
||||||
|
return -EPROTO;
|
||||||
|
} else if (IS_ERR(wdev)) {
|
||||||
nlmsg_free(msg);
|
nlmsg_free(msg);
|
||||||
return PTR_ERR(wdev);
|
return PTR_ERR(wdev);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче