cfg80211: fix netns error unwinding bug
The error unwinding code in set_netns has a bug that will make it run into a BUG_ON if passed a bad wiphy index, fix by not trying to unlock a wiphy that doesn't exist. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7e937c633f
commit
8a8e05e5d8
|
@ -4029,7 +4029,7 @@ static int nl80211_wiphy_netns(struct sk_buff *skb, struct genl_info *info)
|
|||
rdev = cfg80211_get_dev_from_info(info);
|
||||
if (IS_ERR(rdev)) {
|
||||
err = PTR_ERR(rdev);
|
||||
goto out;
|
||||
goto out_rtnl;
|
||||
}
|
||||
|
||||
net = get_net_ns_by_pid(pid);
|
||||
|
@ -4049,6 +4049,7 @@ static int nl80211_wiphy_netns(struct sk_buff *skb, struct genl_info *info)
|
|||
put_net(net);
|
||||
out:
|
||||
cfg80211_unlock_rdev(rdev);
|
||||
out_rtnl:
|
||||
rtnl_unlock();
|
||||
return err;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue