| From d93cd81f6fbe38c48be355c0cc0d390af4c38f20 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 26 Jun 2020 12:49:39 +0300 |
| Subject: nl80211: don't return err unconditionally in nl80211_start_ap() |
| |
| From: Luca Coelho <luciano.coelho@intel.com> |
| |
| [ Upstream commit bc7a39b4272b9672d806d422b6850e8c1a09914c ] |
| |
| When a memory leak was fixed, a return err was changed to goto err, |
| but, accidentally, the if (err) was removed, so now we always exit at |
| this point. |
| |
| Fix it by adding if (err) back. |
| |
| Fixes: 9951ebfcdf2b ("nl80211: fix potential leak in AP start") |
| Signed-off-by: Luca Coelho <luciano.coelho@intel.com> |
| Link: https://lore.kernel.org/r/iwlwifi.20200626124931.871ba5b31eee.I97340172d92164ee92f3c803fe20a8a6e97714e1@changeid |
| Signed-off-by: Johannes Berg <johannes.berg@intel.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/wireless/nl80211.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c |
| index b65180e874fb9..a34bbca80f498 100644 |
| --- a/net/wireless/nl80211.c |
| +++ b/net/wireless/nl80211.c |
| @@ -4798,7 +4798,8 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info) |
| err = nl80211_parse_he_obss_pd( |
| info->attrs[NL80211_ATTR_HE_OBSS_PD], |
| ¶ms.he_obss_pd); |
| - goto out; |
| + if (err) |
| + goto out; |
| } |
| |
| nl80211_calculate_ap_params(¶ms); |
| -- |
| 2.25.1 |
| |