Commit 0391a45c authored by Johannes Berg's avatar Johannes Berg
Browse files

nl80211: call cfg80211_dev_rename() under RTNL



This is required, and we have an assertion, move the RTNL
unlock down to cover cfg80211_dev_rename().

Fixes: a05829a7 ("cfg80211: avoid holding the RTNL when calling the driver")
Reported-by: default avatar <syzbot+ed107c5fa3e21cdcd86e@syzkaller.appspotmail.com>
Link: https://lore.kernel.org/r/20210128183454.16a4ea036740.I2beeb391dc322d6f1df3ee2612e714e0a7817397@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent d1f3bdd4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3220,7 +3220,6 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
		wdev = netdev->ieee80211_ptr;

	wiphy_lock(&rdev->wiphy);
	rtnl_unlock();

	/*
	 * end workaround code, by now the rdev is available
@@ -3230,6 +3229,7 @@ static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info)
	if (info->attrs[NL80211_ATTR_WIPHY_NAME])
		result = cfg80211_dev_rename(
			rdev, nla_data(info->attrs[NL80211_ATTR_WIPHY_NAME]));
	rtnl_unlock();

	if (result)
		goto out;