aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Norris <[email protected]>2020-01-06 14:42:12 -0800
committerKalle Valo <[email protected]>2020-01-27 16:33:14 +0200
commit65b1aae0d9d5962faccc06bdb8e91a2a0b09451c (patch)
treebddc502a15e55d36f91e539ddbbc843962600623
parentc312840cd79061af37158cb42590931cfa364c1b (diff)
mwifiex: fix unbalanced locking in mwifiex_process_country_ie()
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: [email protected] Cc: huangwen <[email protected]> Cc: Ganapathi Bhat <[email protected]> Signed-off-by: Brian Norris <[email protected]> Acked-by: Ganapathi Bhat <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
-rw-r--r--drivers/net/wireless/marvell/mwifiex/sta_ioctl.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
index 6dd835f1efc2..fbfa0b15d0c8 100644
--- 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(struct mwifiex_private *priv,
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;