lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1427840678-14751-11-git-send-email-mateusz.kulikowski@gmail.com>
Date:	Wed,  1 Apr 2015 00:24:35 +0200
From:	Mateusz Kulikowski <mateusz.kulikowski@...il.com>
To:	gregkh@...uxfoundation.org
Cc:	Mateusz Kulikowski <mateusz.kulikowski@...il.com>, joe@...ches.com,
	devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: [PATCH v2 10/13] staging: rtl8192e: Decrease nesting of rtllib_rx_auth_resp()

Return from rtllib_rx_auth_resp() if auth_parse() fails.

Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@...il.com>
---
 drivers/staging/rtl8192e/rtllib_softmac.c | 89 ++++++++++++++++---------------
 1 file changed, 45 insertions(+), 44 deletions(-)

diff --git a/drivers/staging/rtl8192e/rtllib_softmac.c b/drivers/staging/rtl8192e/rtllib_softmac.c
index 9266bc6..9a4179c 100644
--- a/drivers/staging/rtl8192e/rtllib_softmac.c
+++ b/drivers/staging/rtl8192e/rtllib_softmac.c
@@ -2322,57 +2322,58 @@ static void rtllib_rx_auth_resp(struct rtllib_device *ieee, struct sk_buff *skb)
 	bool bSupportNmode = true, bHalfSupportNmode = false;
 
 	errcode = auth_parse(skb, &challenge, &chlen);
-	if (0 == errcode) {
-		if (ieee->open_wep || !challenge) {
-			ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
-			ieee->softmac_stats.rx_auth_rs_ok++;
-			if (!(ieee->pHTInfo->IOTAction &
-			    HT_IOT_ACT_PURE_N_MODE)) {
-				if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
-					if (IsHTHalfNmodeAPs(ieee)) {
-						bSupportNmode = true;
-						bHalfSupportNmode = true;
-					} else {
-						bSupportNmode = false;
-						bHalfSupportNmode = false;
-					}
-				}
-			}
-			/* Dummy wirless mode setting to avoid
-			 * encryption issue */
-			if (bSupportNmode) {
-				ieee->SetWirelessMode(ieee->dev,
-				   ieee->current_network.mode);
-			} else {
-				/*TODO*/
-				ieee->SetWirelessMode(ieee->dev,
-						      IEEE_G);
-			}
 
-			if (ieee->current_network.mode ==
-			    IEEE_N_24G && bHalfSupportNmode) {
-				netdev_info(ieee->dev,
-					    "======>enter half N mode\n");
-				ieee->bHalfWirelessN24GMode =
-							 true;
-			} else
-				ieee->bHalfWirelessN24GMode =
-							 false;
-
-			rtllib_associate_step2(ieee);
-		} else {
-			rtllib_auth_challenge(ieee, challenge,
-					      chlen);
-		}
-	} else {
+	if (errcode) {
 		ieee->softmac_stats.rx_auth_rs_err++;
 		RTLLIB_DEBUG_MGMT("Authentication respose status code 0x%x",
 				  errcode);
 
 		netdev_info(ieee->dev,
-			    "Authentication respose status code 0x%x",
-			    errcode);
+				"Authentication respose status code 0x%x", errcode);
 		rtllib_associate_abort(ieee);
+		return;
+	}
+
+	if (ieee->open_wep || !challenge) {
+		ieee->state = RTLLIB_ASSOCIATING_AUTHENTICATED;
+		ieee->softmac_stats.rx_auth_rs_ok++;
+		if (!(ieee->pHTInfo->IOTAction &
+		    HT_IOT_ACT_PURE_N_MODE)) {
+			if (!ieee->GetNmodeSupportBySecCfg(ieee->dev)) {
+				if (IsHTHalfNmodeAPs(ieee)) {
+					bSupportNmode = true;
+					bHalfSupportNmode = true;
+				} else {
+					bSupportNmode = false;
+					bHalfSupportNmode = false;
+				}
+			}
+		}
+		/* Dummy wirless mode setting to avoid
+		 * encryption issue */
+		if (bSupportNmode) {
+			ieee->SetWirelessMode(ieee->dev,
+			   ieee->current_network.mode);
+		} else {
+			/*TODO*/
+			ieee->SetWirelessMode(ieee->dev,
+					      IEEE_G);
+		}
+
+		if (ieee->current_network.mode ==
+		    IEEE_N_24G && bHalfSupportNmode) {
+			netdev_info(ieee->dev,
+				    "======>enter half N mode\n");
+			ieee->bHalfWirelessN24GMode =
+						 true;
+		} else
+			ieee->bHalfWirelessN24GMode =
+						 false;
+
+		rtllib_associate_step2(ieee);
+	} else {
+		rtllib_auth_challenge(ieee, challenge,
+				      chlen);
 	}
 }
 
-- 
1.8.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ