| From 65b1aae0d9d5962faccc06bdb8e91a2a0b09451c Mon Sep 17 00:00:00 2001 |
| From: Brian Norris <briannorris@chromium.org> |
| Date: Mon, 6 Jan 2020 14:42:12 -0800 |
| Subject: mwifiex: fix unbalanced locking in mwifiex_process_country_ie() |
| |
| From: Brian Norris <briannorris@chromium.org> |
| |
| commit 65b1aae0d9d5962faccc06bdb8e91a2a0b09451c upstream. |
| |
| We called rcu_read_lock(), so we need to call rcu_read_unlock() before |
| we return. |
| |
| Fixes: 3d94a4a8373b ("mwifiex: fix possible heap overflow in mwifiex_process_country_ie()") |
| Cc: stable@vger.kernel.org |
| Cc: huangwen <huangwenabc@gmail.com> |
| Cc: Ganapathi Bhat <ganapathi.bhat@nxp.com> |
| Signed-off-by: Brian Norris <briannorris@chromium.org> |
| Acked-by: Ganapathi Bhat <ganapathi.bhat@nxp.com> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/wireless/marvell/mwifiex/sta_ioctl.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c |
| +++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c |
| @@ -232,6 +232,7 @@ static int mwifiex_process_country_ie(st |
| |
| if (country_ie_len > |
| (IEEE80211_COUNTRY_STRING_LEN + MWIFIEX_MAX_TRIPLET_802_11D)) { |
| + rcu_read_unlock(); |
| mwifiex_dbg(priv->adapter, ERROR, |
| "11D: country_ie_len overflow!, deauth AP\n"); |
| return -EINVAL; |