public inbox for linux-staging@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting
@ 2026-03-17 16:51 Lin YuChen
  2026-03-18 15:56 ` Greg KH
  2026-03-19  7:58 ` [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Dan Carpenter
  0 siblings, 2 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-17 16:51 UTC (permalink / raw)
  To: gregkh
  Cc: dan.carpenter, straube.linux, starpt.official, linux-staging,
	linux-kernel

Improve code readability by refactoring rtw_aes_decrypt() to use
guard clauses and early exits. This reduces the maximum indentation
level and flattens the logic flow for key assignment and decryption.

Signed-off-by: Lin YuChen <starpt.official@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_security.c | 91 ++++++++++---------
 1 file changed, 46 insertions(+), 45 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index b489babe7432..9229e0a1c792 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1213,69 +1213,70 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 
 	pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
 	/* 4 start to encrypt each fragment */
-	if (prxattrib->encrypt == _AES_) {
-		stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
-		if (stainfo) {
-			if (is_multicast_ether_addr(prxattrib->ra)) {
-				static unsigned long start;
-				static u32 no_gkey_bc_cnt;
-				static u32 no_gkey_mc_cnt;
+	if (prxattrib->encrypt != _AES_)
+		goto exit;
 
-				if (!psecuritypriv->binstallGrpkey) {
-					res = _FAIL;
+	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
+	if (!stainfo) {
+		res = _FAIL;
+		goto exit;
+	}
+	if (is_multicast_ether_addr(prxattrib->ra)) {
+		static unsigned long start;
+		static u32 no_gkey_bc_cnt;
+		static u32 no_gkey_mc_cnt;
 
-					if (start == 0)
-						start = jiffies;
+		if (!psecuritypriv->binstallGrpkey) {
+			res = _FAIL;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
-						no_gkey_bc_cnt++;
-					else
-						no_gkey_mc_cnt++;
+			if (start == 0)
+				start = jiffies;
 
-					if (jiffies_to_msecs(jiffies - start) > 1000) {
-						if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-							netdev_dbg(padapter->pnetdev,
-								   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-								   FUNC_ADPT_ARG(padapter),
-								   no_gkey_bc_cnt,
-								   no_gkey_mc_cnt);
-						}
-						start = jiffies;
-						no_gkey_bc_cnt = 0;
-						no_gkey_mc_cnt = 0;
-					}
-
-					goto exit;
-				}
+			if (is_broadcast_mac_addr(prxattrib->ra))
+				no_gkey_bc_cnt++;
+			else
+				no_gkey_mc_cnt++;
 
+			if (jiffies_to_msecs(jiffies - start) > 1000) {
 				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
 					netdev_dbg(padapter->pnetdev,
-						   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-						   FUNC_ADPT_ARG(padapter),
-						   no_gkey_bc_cnt,
+						   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+						   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
 						   no_gkey_mc_cnt);
 				}
-				start = 0;
+				start = jiffies;
 				no_gkey_bc_cnt = 0;
 				no_gkey_mc_cnt = 0;
-
-				prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
-				if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
-					res = _FAIL;
-					goto exit;
-				}
-			} else {
-				prwskey = &stainfo->dot118021x_UncstKey.skey[0];
 			}
 
-			length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+			goto exit;
+		}
 
-			res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+		if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+			netdev_dbg(padapter->pnetdev,
+				   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+				   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+				   no_gkey_mc_cnt);
+		}
+		start = 0;
+		no_gkey_bc_cnt = 0;
+		no_gkey_mc_cnt = 0;
 
-		} else {
+		prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index]
+				  .skey;
+		if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
 			res = _FAIL;
+			goto exit;
 		}
+	} else {
+		prwskey = &stainfo->dot118021x_UncstKey.skey[0];
 	}
+
+	length = ((union recv_frame *)precvframe)->u.hdr.len -
+		 prxattrib->hdrlen - prxattrib->iv_len;
+
+	res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+
 exit:
 	return res;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting
  2026-03-17 16:51 [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Lin YuChen
@ 2026-03-18 15:56 ` Greg KH
  2026-03-18 21:51   ` [PATCH v2 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
  2026-03-19  7:58 ` [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Dan Carpenter
  1 sibling, 1 reply; 12+ messages in thread
From: Greg KH @ 2026-03-18 15:56 UTC (permalink / raw)
  To: Lin YuChen; +Cc: dan.carpenter, straube.linux, linux-staging, linux-kernel

On Wed, Mar 18, 2026 at 12:51:49AM +0800, Lin YuChen wrote:
> Improve code readability by refactoring rtw_aes_decrypt() to use
> guard clauses and early exits. This reduces the maximum indentation
> level and flattens the logic flow for key assignment and decryption.
> 
> Signed-off-by: Lin YuChen <starpt.official@gmail.com>
> ---
>  drivers/staging/rtl8723bs/core/rtw_security.c | 91 ++++++++++---------
>  1 file changed, 46 insertions(+), 45 deletions(-)

Please make this a patch series, moving the indentation in by one
"level" at a time, otherwise this is impossible to review to verify that
you have not changed the logic incorrectly here.

Would you want to review this as-is?  :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt()
  2026-03-18 15:56 ` Greg KH
@ 2026-03-18 21:51   ` Lin YuChen
  2026-03-18 21:51     ` [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
  2026-03-18 21:51     ` [PATCH v2 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
  0 siblings, 2 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-18 21:51 UTC (permalink / raw)
  To: gregkh
  Cc: dan.carpenter, straube.linux, starpt.official, linux-staging,
	linux-kernel

This series refactors rtw_aes_decrypt() to reduce nesting levels by
using guard clauses. As requested by Greg, the refactoring is split
into two steps to make the logic changes easier to verify.

Patch 1: Introduce guard clause for AES encryption check.
Patch 2: Introduce guard clause for stainfo check.

Lin YuChen (2):
  staging: rtl8723bs: use guard clause for AES check
  staging: rtl8723bs: use guard clause for stainfo check

 drivers/staging/rtl8723bs/core/rtw_security.c | 91 +++++++++----------
 1 file changed, 45 insertions(+), 46 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check
  2026-03-18 21:51   ` [PATCH v2 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
@ 2026-03-18 21:51     ` Lin YuChen
  2026-03-19  7:59       ` Dan Carpenter
  2026-03-18 21:51     ` [PATCH v2 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
  1 sibling, 1 reply; 12+ messages in thread
From: Lin YuChen @ 2026-03-18 21:51 UTC (permalink / raw)
  To: gregkh
  Cc: dan.carpenter, straube.linux, starpt.official, linux-staging,
	linux-kernel

Refactor the AES encryption check by using a guard clause to
reduce the indentation level of the subsequent logic.

Signed-off-by: Lin YuChen <starpt.official@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_security.c | 107 +++++++++---------
 1 file changed, 55 insertions(+), 52 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index b489babe7432..971d913ec6b3 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1213,68 +1213,71 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 
 	pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
 	/* 4 start to encrypt each fragment */
-	if (prxattrib->encrypt == _AES_) {
-		stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
-		if (stainfo) {
-			if (is_multicast_ether_addr(prxattrib->ra)) {
-				static unsigned long start;
-				static u32 no_gkey_bc_cnt;
-				static u32 no_gkey_mc_cnt;
-
-				if (!psecuritypriv->binstallGrpkey) {
-					res = _FAIL;
+	if (prxattrib->encrypt != _AES_)
+		goto exit;
+	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
+	if (stainfo) {
+		if (is_multicast_ether_addr(prxattrib->ra)) {
+			static unsigned long start;
+			static u32 no_gkey_bc_cnt;
+			static u32 no_gkey_mc_cnt;
+
+			if (!psecuritypriv->binstallGrpkey) {
+				res = _FAIL;
 
-					if (start == 0)
-						start = jiffies;
+				if (start == 0)
+					start = jiffies;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
-						no_gkey_bc_cnt++;
-					else
-						no_gkey_mc_cnt++;
-
-					if (jiffies_to_msecs(jiffies - start) > 1000) {
-						if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-							netdev_dbg(padapter->pnetdev,
-								   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-								   FUNC_ADPT_ARG(padapter),
-								   no_gkey_bc_cnt,
-								   no_gkey_mc_cnt);
-						}
-						start = jiffies;
-						no_gkey_bc_cnt = 0;
-						no_gkey_mc_cnt = 0;
+				if (is_broadcast_mac_addr(prxattrib->ra))
+					no_gkey_bc_cnt++;
+				else
+					no_gkey_mc_cnt++;
+
+				if (jiffies_to_msecs(jiffies - start) > 1000) {
+					if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+						netdev_dbg(padapter->pnetdev,
+							   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+							   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+							   no_gkey_mc_cnt);
 					}
-
-					goto exit;
+					start = jiffies;
+					no_gkey_bc_cnt = 0;
+					no_gkey_mc_cnt = 0;
 				}
 
-				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-					netdev_dbg(padapter->pnetdev,
-						   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-						   FUNC_ADPT_ARG(padapter),
-						   no_gkey_bc_cnt,
-						   no_gkey_mc_cnt);
-				}
-				start = 0;
-				no_gkey_bc_cnt = 0;
-				no_gkey_mc_cnt = 0;
+				goto exit;
+			}
 
-				prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
-				if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
-					res = _FAIL;
-					goto exit;
-				}
-			} else {
-				prwskey = &stainfo->dot118021x_UncstKey.skey[0];
+			if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+				netdev_dbg(padapter->pnetdev,
+					   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+					   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+					   no_gkey_mc_cnt);
+			}
+			start = 0;
+			no_gkey_bc_cnt = 0;
+			no_gkey_mc_cnt = 0;
+
+			prwskey =
+				psecuritypriv
+					->dot118021XGrpKey[prxattrib->key_index]
+					.skey;
+			if (psecuritypriv->dot118021XGrpKeyid !=
+			    prxattrib->key_index) {
+				res = _FAIL;
+				goto exit;
 			}
+		} else {
+			prwskey = &stainfo->dot118021x_UncstKey.skey[0];
+		}
 
-			length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+		length = ((union recv_frame *)precvframe)->u.hdr.len -
+			 prxattrib->hdrlen - prxattrib->iv_len;
 
-			res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+		res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
 
-		} else {
-			res = _FAIL;
-		}
+	} else {
+		res = _FAIL;
 	}
 exit:
 	return res;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v2 2/2] staging: rtl8723bs: use guard clause for stainfo check
  2026-03-18 21:51   ` [PATCH v2 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
  2026-03-18 21:51     ` [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
@ 2026-03-18 21:51     ` Lin YuChen
  1 sibling, 0 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-18 21:51 UTC (permalink / raw)
  To: gregkh
  Cc: dan.carpenter, straube.linux, starpt.official, linux-staging,
	linux-kernel

Continue the refactor of rtw_aes_decrypt() by introducing a guard
clause for the stainfo check. This allows the subsequent multicast
and unicast decryption logic to be moved one indentation level to
the left, further improving code readability.

Signed-off-by: Lin YuChen <starpt.official@gmail.com>
---
 drivers/staging/rtl8723bs/core/rtw_security.c | 100 +++++++++---------
 1 file changed, 48 insertions(+), 52 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index 971d913ec6b3..0e1a89702edd 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1216,69 +1216,65 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 	if (prxattrib->encrypt != _AES_)
 		goto exit;
 	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
-	if (stainfo) {
-		if (is_multicast_ether_addr(prxattrib->ra)) {
-			static unsigned long start;
-			static u32 no_gkey_bc_cnt;
-			static u32 no_gkey_mc_cnt;
+	if (!stainfo) {
+		res = _FAIL;
+		goto exit;
+	}
+	if (is_multicast_ether_addr(prxattrib->ra)) {
+		static unsigned long start;
+		static u32 no_gkey_bc_cnt;
+		static u32 no_gkey_mc_cnt;
 
-			if (!psecuritypriv->binstallGrpkey) {
-				res = _FAIL;
+		if (!psecuritypriv->binstallGrpkey) {
+			res = _FAIL;
 
-				if (start == 0)
-					start = jiffies;
+			if (start == 0)
+				start = jiffies;
 
-				if (is_broadcast_mac_addr(prxattrib->ra))
-					no_gkey_bc_cnt++;
-				else
-					no_gkey_mc_cnt++;
-
-				if (jiffies_to_msecs(jiffies - start) > 1000) {
-					if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-						netdev_dbg(padapter->pnetdev,
-							   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-							   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
-							   no_gkey_mc_cnt);
-					}
-					start = jiffies;
-					no_gkey_bc_cnt = 0;
-					no_gkey_mc_cnt = 0;
-				}
+			if (is_broadcast_mac_addr(prxattrib->ra))
+				no_gkey_bc_cnt++;
+			else
+				no_gkey_mc_cnt++;
 
-				goto exit;
+			if (jiffies_to_msecs(jiffies - start) > 1000) {
+				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+					netdev_dbg(padapter->pnetdev,
+						   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+						   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+						   no_gkey_mc_cnt);
+				}
+				start = jiffies;
+				no_gkey_bc_cnt = 0;
+				no_gkey_mc_cnt = 0;
 			}
 
-			if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-				netdev_dbg(padapter->pnetdev,
-					   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-					   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
-					   no_gkey_mc_cnt);
-			}
-			start = 0;
-			no_gkey_bc_cnt = 0;
-			no_gkey_mc_cnt = 0;
-
-			prwskey =
-				psecuritypriv
-					->dot118021XGrpKey[prxattrib->key_index]
-					.skey;
-			if (psecuritypriv->dot118021XGrpKeyid !=
-			    prxattrib->key_index) {
-				res = _FAIL;
-				goto exit;
-			}
-		} else {
-			prwskey = &stainfo->dot118021x_UncstKey.skey[0];
+			goto exit;
 		}
 
-		length = ((union recv_frame *)precvframe)->u.hdr.len -
-			 prxattrib->hdrlen - prxattrib->iv_len;
-
-		res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+		if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+			netdev_dbg(padapter->pnetdev,
+				   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+				   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
+				   no_gkey_mc_cnt);
+		}
+		start = 0;
+		no_gkey_bc_cnt = 0;
+		no_gkey_mc_cnt = 0;
 
+		prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index]
+				  .skey;
+		if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
+			res = _FAIL;
+			goto exit;
+		}
 	} else {
-		res = _FAIL;
+		prwskey = &stainfo->dot118021x_UncstKey.skey[0];
 	}
+
+	length = ((union recv_frame *)precvframe)->u.hdr.len -
+		 prxattrib->hdrlen - prxattrib->iv_len;
+
+	res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
 exit:
 	return res;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting
  2026-03-17 16:51 [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Lin YuChen
  2026-03-18 15:56 ` Greg KH
@ 2026-03-19  7:58 ` Dan Carpenter
  1 sibling, 0 replies; 12+ messages in thread
From: Dan Carpenter @ 2026-03-19  7:58 UTC (permalink / raw)
  To: Lin YuChen; +Cc: gregkh, straube.linux, linux-staging, linux-kernel

What often happens is that I write a review email and then decide not
to send it.  I probably would have merged your patch as-is, but since
Greg has decided not to then we as well fix this as well.

On Wed, Mar 18, 2026 at 12:51:49AM +0800, Lin YuChen wrote:
> Improve code readability by refactoring rtw_aes_decrypt() to use
> guard clauses and early exits. This reduces the maximum indentation
> level and flattens the logic flow for key assignment and decryption.
> 
> Signed-off-by: Lin YuChen <starpt.official@gmail.com>
> ---
>  drivers/staging/rtl8723bs/core/rtw_security.c | 91 ++++++++++---------
>  1 file changed, 46 insertions(+), 45 deletions(-)
> 
> diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
> index b489babe7432..9229e0a1c792 100644
> --- a/drivers/staging/rtl8723bs/core/rtw_security.c
> +++ b/drivers/staging/rtl8723bs/core/rtw_security.c
> @@ -1213,69 +1213,70 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
>  
>  	pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
>  	/* 4 start to encrypt each fragment */
> -	if (prxattrib->encrypt == _AES_) {
> -		stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
> -		if (stainfo) {
> -			if (is_multicast_ether_addr(prxattrib->ra)) {
> -				static unsigned long start;
> -				static u32 no_gkey_bc_cnt;
> -				static u32 no_gkey_mc_cnt;
> +	if (prxattrib->encrypt != _AES_)
> +		goto exit;

Just return directly.  When I'm reading this patch, I have to think
"Oh, what does goto exit do?"  So I scroll down to the bottom, and I
see it returns res.  So then I scroll up here and I think "what is
res?" but it's not included in the email.  Compare that to just doing
"return _SUCCESS;" where anyone can instantly see what it does without
scrolling up and down and changing to a different window.

>  
> -				if (!psecuritypriv->binstallGrpkey) {
> -					res = _FAIL;
> +	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
> +	if (!stainfo) {
> +		res = _FAIL;
> +		goto exit;
> +	}

Same.  Just return directly.

> +	if (is_multicast_ether_addr(prxattrib->ra)) {
> +		static unsigned long start;
> +		static u32 no_gkey_bc_cnt;
> +		static u32 no_gkey_mc_cnt;
>  
> -					if (start == 0)
> -						start = jiffies;
> +		if (!psecuritypriv->binstallGrpkey) {
> +			res = _FAIL;
>  
> -					if (is_broadcast_mac_addr(prxattrib->ra))
> -						no_gkey_bc_cnt++;
> -					else
> -						no_gkey_mc_cnt++;
> +			if (start == 0)
> +				start = jiffies;
>  
> -					if (jiffies_to_msecs(jiffies - start) > 1000) {
> -						if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
> -							netdev_dbg(padapter->pnetdev,
> -								   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
> -								   FUNC_ADPT_ARG(padapter),
> -								   no_gkey_bc_cnt,
> -								   no_gkey_mc_cnt);
> -						}
> -						start = jiffies;
> -						no_gkey_bc_cnt = 0;
> -						no_gkey_mc_cnt = 0;
> -					}
> -
> -					goto exit;

Leave this goto exit because changing it would be an unrelated change.
The line is that adding a new goto is related because you were either
going to add a return or a goto.  Changing existing code is an unrelated
change and we want to leave those lines as-is except for pulling them
in a tab.

> -				}
> +			if (is_broadcast_mac_addr(prxattrib->ra))
> +				no_gkey_bc_cnt++;
> +			else
> +				no_gkey_mc_cnt++;
>  
> +			if (jiffies_to_msecs(jiffies - start) > 1000) {
>  				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
>  					netdev_dbg(padapter->pnetdev,
> -						   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
> -						   FUNC_ADPT_ARG(padapter),
> -						   no_gkey_bc_cnt,
> +						   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
> +						   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
>  						   no_gkey_mc_cnt);
>  				}
> -				start = 0;
> +				start = jiffies;
>  				no_gkey_bc_cnt = 0;
>  				no_gkey_mc_cnt = 0;
> -
> -				prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
> -				if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
> -					res = _FAIL;
> -					goto exit;
> -				}
> -			} else {
> -				prwskey = &stainfo->dot118021x_UncstKey.skey[0];
>  			}
>  
> -			length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
> +			goto exit;
> +		}
>  
> -			res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
> +		if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
> +			netdev_dbg(padapter->pnetdev,
> +				   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
> +				   FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt,
> +				   no_gkey_mc_cnt);
> +		}
> +		start = 0;
> +		no_gkey_bc_cnt = 0;
> +		no_gkey_mc_cnt = 0;
>  
> -		} else {
> +		prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index]
> +				  .skey;
> +		if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
>  			res = _FAIL;
> +			goto exit;
>  		}
> +	} else {
> +		prwskey = &stainfo->dot118021x_UncstKey.skey[0];
>  	}
> +
> +	length = ((union recv_frame *)precvframe)->u.hdr.len -
> +		 prxattrib->hdrlen - prxattrib->iv_len;

Checkpatch wants you to break this line up, but it wasn't broken up in
the original code so that's an unrelated change.

regards,
dan carpenter

> +
> +	res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
> +
>  exit:
>  	return res;
>  }
> -- 
> 2.34.1

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check
  2026-03-18 21:51     ` [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
@ 2026-03-19  7:59       ` Dan Carpenter
  2026-03-19 12:07         ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
  0 siblings, 1 reply; 12+ messages in thread
From: Dan Carpenter @ 2026-03-19  7:59 UTC (permalink / raw)
  To: Lin YuChen; +Cc: gregkh, straube.linux, linux-staging, linux-kernel

On Thu, Mar 19, 2026 at 05:51:23AM +0800, Lin YuChen wrote:
> Refactor the AES encryption check by using a guard clause to
> reduce the indentation level of the subsequent logic.
> 
> Signed-off-by: Lin YuChen <starpt.official@gmail.com>
> ---

Let's do it a little bit differently.  See the other email
I just sent to v1.

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt()
  2026-03-19  7:59       ` Dan Carpenter
@ 2026-03-19 12:07         ` Lin YuChen
  2026-03-19 12:07           ` [PATCH v3 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
                             ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-19 12:07 UTC (permalink / raw)
  To: gregkh, dan.carpenter
  Cc: straube.linux, starpt.official, linux-staging, linux-kernel

This series refactors rtw_aes_decrypt() to improve code readability by
reducing nesting levels through the use of guard clauses.

Changes in v3:
 - Follow Dan Carpenter's suggestion to use direct returns (e.g., return
   _SUCCESS or _FAIL) instead of "goto exit" for the newly introduced
   guard clauses.
 - Revert unrelated line-breaking and formatting changes to ensure the
   patch remains focused strictly on the refactoring of indentation
   levels, as advised by Dan.
 - Keep the two-step patch series structure requested by Greg KH.

Changes in v2:
 - Split the refactor into a two-patch series to make logic verification
   easier, as requested by Greg KH.

Lin YuChen (2):
  staging: rtl8723bs: use guard clause for AES check
  staging: rtl8723bs: use guard clause for stainfo check

 drivers/staging/rtl8723bs/core/rtw_security.c | 86 +++++++++----------
 1 file changed, 42 insertions(+), 44 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v3 1/2] staging: rtl8723bs: use guard clause for AES check
  2026-03-19 12:07         ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
@ 2026-03-19 12:07           ` Lin YuChen
  2026-03-19 12:07           ` [PATCH v3 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
  2026-03-19 12:46           ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Dan Carpenter
  2 siblings, 0 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-19 12:07 UTC (permalink / raw)
  To: gregkh, dan.carpenter
  Cc: straube.linux, starpt.official, linux-staging, linux-kernel

Refactor the AES encryption check by using a guard clause to
reduce the indentation level of the subsequent logic.

Signed-off-by: Lin YuChen <starpt.official@gmail.com>
---
v3: Use "return _SUCCESS" instead of "goto exit".
v2: This is a new patch split from the original v1.

 drivers/staging/rtl8723bs/core/rtw_security.c | 104 +++++++++---------
 1 file changed, 52 insertions(+), 52 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index b489babe7432..3c89e911ac2d 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1213,68 +1213,68 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 
 	pframe = (unsigned char *)((union recv_frame *)precvframe)->u.hdr.rx_data;
 	/* 4 start to encrypt each fragment */
-	if (prxattrib->encrypt == _AES_) {
-		stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
-		if (stainfo) {
-			if (is_multicast_ether_addr(prxattrib->ra)) {
-				static unsigned long start;
-				static u32 no_gkey_bc_cnt;
-				static u32 no_gkey_mc_cnt;
-
-				if (!psecuritypriv->binstallGrpkey) {
-					res = _FAIL;
-
-					if (start == 0)
-						start = jiffies;
+	if (prxattrib->encrypt != _AES_)
+		return _SUCCESS;
+	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
+	if (stainfo) {
+		if (is_multicast_ether_addr(prxattrib->ra)) {
+			static unsigned long start;
+			static u32 no_gkey_bc_cnt;
+			static u32 no_gkey_mc_cnt;
+
+			if (!psecuritypriv->binstallGrpkey) {
+				res = _FAIL;
 
-					if (is_broadcast_mac_addr(prxattrib->ra))
-						no_gkey_bc_cnt++;
-					else
-						no_gkey_mc_cnt++;
+				if (start == 0)
+					start = jiffies;
 
-					if (jiffies_to_msecs(jiffies - start) > 1000) {
-						if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-							netdev_dbg(padapter->pnetdev,
-								   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-								   FUNC_ADPT_ARG(padapter),
-								   no_gkey_bc_cnt,
-								   no_gkey_mc_cnt);
-						}
-						start = jiffies;
-						no_gkey_bc_cnt = 0;
-						no_gkey_mc_cnt = 0;
+				if (is_broadcast_mac_addr(prxattrib->ra))
+					no_gkey_bc_cnt++;
+				else
+					no_gkey_mc_cnt++;
+
+				if (jiffies_to_msecs(jiffies - start) > 1000) {
+					if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+						netdev_dbg(padapter->pnetdev,
+							   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+							   FUNC_ADPT_ARG(padapter),
+							   no_gkey_bc_cnt,
+							   no_gkey_mc_cnt);
 					}
-
-					goto exit;
+					start = jiffies;
+					no_gkey_bc_cnt = 0;
+					no_gkey_mc_cnt = 0;
 				}
 
-				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-					netdev_dbg(padapter->pnetdev,
-						   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-						   FUNC_ADPT_ARG(padapter),
-						   no_gkey_bc_cnt,
-						   no_gkey_mc_cnt);
-				}
-				start = 0;
-				no_gkey_bc_cnt = 0;
-				no_gkey_mc_cnt = 0;
-
-				prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
-				if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
-					res = _FAIL;
-					goto exit;
-				}
-			} else {
-				prwskey = &stainfo->dot118021x_UncstKey.skey[0];
+				goto exit;
 			}
 
-			length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
-
-			res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+			if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+				netdev_dbg(padapter->pnetdev,
+					   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+					   FUNC_ADPT_ARG(padapter),
+					   no_gkey_bc_cnt,
+					   no_gkey_mc_cnt);
+			}
+			start = 0;
+			no_gkey_bc_cnt = 0;
+			no_gkey_mc_cnt = 0;
 
+			prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
+			if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
+				res = _FAIL;
+				goto exit;
+			}
 		} else {
-			res = _FAIL;
+			prwskey = &stainfo->dot118021x_UncstKey.skey[0];
 		}
+
+		length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+
+		res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+
+	} else {
+		res = _FAIL;
 	}
 exit:
 	return res;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [PATCH v3 2/2] staging: rtl8723bs: use guard clause for stainfo check
  2026-03-19 12:07         ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
  2026-03-19 12:07           ` [PATCH v3 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
@ 2026-03-19 12:07           ` Lin YuChen
  2026-03-19 12:46           ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Dan Carpenter
  2 siblings, 0 replies; 12+ messages in thread
From: Lin YuChen @ 2026-03-19 12:07 UTC (permalink / raw)
  To: gregkh, dan.carpenter
  Cc: straube.linux, starpt.official, linux-staging, linux-kernel

Continue the refactor of rtw_aes_decrypt() by introducing a guard
clause for the stainfo check. This allows the subsequent multicast
and unicast decryption logic to be moved one indentation level to
the left, further improving code readability.

Signed-off-by: Lin YuChen <starpt.official@gmail.com>
---
v3: Use "return _FAIL" instead of "res = _FAIL; goto exit" for the stainfo
    guard clause.
v3: Revert unrelated formatting and line-breaking changes (e.g., in
    netdev_dbg calls) to keep the diff focused only on indentation
    changes, as suggested by Dan Carpenter.
v2: Split the refactoring into a separate patch to make it easier to
    verify logic changes.

 drivers/staging/rtl8723bs/core/rtw_security.c | 96 +++++++++----------
 1 file changed, 47 insertions(+), 49 deletions(-)

diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c
index 3c89e911ac2d..cf910c268bb3 100644
--- a/drivers/staging/rtl8723bs/core/rtw_security.c
+++ b/drivers/staging/rtl8723bs/core/rtw_security.c
@@ -1216,66 +1216,64 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe)
 	if (prxattrib->encrypt != _AES_)
 		return _SUCCESS;
 	stainfo = rtw_get_stainfo(&padapter->stapriv, &prxattrib->ta[0]);
-	if (stainfo) {
-		if (is_multicast_ether_addr(prxattrib->ra)) {
-			static unsigned long start;
-			static u32 no_gkey_bc_cnt;
-			static u32 no_gkey_mc_cnt;
-
-			if (!psecuritypriv->binstallGrpkey) {
-				res = _FAIL;
+	if (stainfo)
+		return _FAIL;
+	if (is_multicast_ether_addr(prxattrib->ra)) {
+		static unsigned long start;
+		static u32 no_gkey_bc_cnt;
+		static u32 no_gkey_mc_cnt;
 
-				if (start == 0)
-					start = jiffies;
+		if (!psecuritypriv->binstallGrpkey) {
+			res = _FAIL;
 
-				if (is_broadcast_mac_addr(prxattrib->ra))
-					no_gkey_bc_cnt++;
-				else
-					no_gkey_mc_cnt++;
-
-				if (jiffies_to_msecs(jiffies - start) > 1000) {
-					if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-						netdev_dbg(padapter->pnetdev,
-							   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-							   FUNC_ADPT_ARG(padapter),
-							   no_gkey_bc_cnt,
-							   no_gkey_mc_cnt);
-					}
-					start = jiffies;
-					no_gkey_bc_cnt = 0;
-					no_gkey_mc_cnt = 0;
-				}
+			if (start == 0)
+				start = jiffies;
 
-				goto exit;
-			}
+			if (is_broadcast_mac_addr(prxattrib->ra))
+				no_gkey_bc_cnt++;
+			else
+				no_gkey_mc_cnt++;
 
-			if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
-				netdev_dbg(padapter->pnetdev,
-					   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
-					   FUNC_ADPT_ARG(padapter),
-					   no_gkey_bc_cnt,
-					   no_gkey_mc_cnt);
+			if (jiffies_to_msecs(jiffies - start) > 1000) {
+				if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+					netdev_dbg(padapter->pnetdev,
+						   FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+						   FUNC_ADPT_ARG(padapter),
+						   no_gkey_bc_cnt,
+						   no_gkey_mc_cnt);
+				}
+				start = jiffies;
+				no_gkey_bc_cnt = 0;
+				no_gkey_mc_cnt = 0;
 			}
-			start = 0;
-			no_gkey_bc_cnt = 0;
-			no_gkey_mc_cnt = 0;
 
-			prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
-			if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
-				res = _FAIL;
-				goto exit;
-			}
-		} else {
-			prwskey = &stainfo->dot118021x_UncstKey.skey[0];
+			goto exit;
 		}
 
-		length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
-
-		res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+		if (no_gkey_bc_cnt || no_gkey_mc_cnt) {
+			netdev_dbg(padapter->pnetdev,
+				   FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n",
+				   FUNC_ADPT_ARG(padapter),
+				   no_gkey_bc_cnt,
+				   no_gkey_mc_cnt);
+		}
+		start = 0;
+		no_gkey_bc_cnt = 0;
+		no_gkey_mc_cnt = 0;
 
+		prwskey = psecuritypriv->dot118021XGrpKey[prxattrib->key_index].skey;
+		if (psecuritypriv->dot118021XGrpKeyid != prxattrib->key_index) {
+			res = _FAIL;
+			goto exit;
+		}
 	} else {
-		res = _FAIL;
+		prwskey = &stainfo->dot118021x_UncstKey.skey[0];
 	}
+
+	length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len;
+
+	res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length);
+
 exit:
 	return res;
 }
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt()
  2026-03-19 12:07         ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
  2026-03-19 12:07           ` [PATCH v3 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
  2026-03-19 12:07           ` [PATCH v3 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
@ 2026-03-19 12:46           ` Dan Carpenter
  2026-03-19 17:01             ` YuChen Lin
  2 siblings, 1 reply; 12+ messages in thread
From: Dan Carpenter @ 2026-03-19 12:46 UTC (permalink / raw)
  To: Lin YuChen; +Cc: gregkh, straube.linux, linux-staging, linux-kernel

On Thu, Mar 19, 2026 at 08:07:35PM +0800, Lin YuChen wrote:
> This series refactors rtw_aes_decrypt() to improve code readability by
> reducing nesting levels through the use of guard clauses.
> 
> Changes in v3:
>  - Follow Dan Carpenter's suggestion to use direct returns (e.g., return
>    _SUCCESS or _FAIL) instead of "goto exit" for the newly introduced
>    guard clauses.
>  - Revert unrelated line-breaking and formatting changes to ensure the
>    patch remains focused strictly on the refactoring of indentation
>    levels, as advised by Dan.

Thanks.

Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>

You don't have to do this if you don't want, but unrelated to your
patch but the last two bytes of &le_tmp64 in rtw_BIP_verify() should
be initialized.  Just set it to zero at the start of the function.
Otherwise it's an uninitialized variable.

drivers/staging/rtl8723bs/core/rtw_security.c:1308 rtw_BIP_verify() warn: not copying enough bytes for '&le_tmp64' (8 vs 6 bytes)

regards,
dan carpenter


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt()
  2026-03-19 12:46           ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Dan Carpenter
@ 2026-03-19 17:01             ` YuChen Lin
  0 siblings, 0 replies; 12+ messages in thread
From: YuChen Lin @ 2026-03-19 17:01 UTC (permalink / raw)
  To: Dan Carpenter; +Cc: gregkh, straube.linux, linux-staging, linux-kernel

On Thu, Mar 19, 2026 at 8:46 PM Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
>
> Thanks.
>
> Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>

Thanks for the Reviewed-by!

> You don't have to do this if you don't want, but unrelated to your
> patch but the last two bytes of &le_tmp64 in rtw_BIP_verify() should
> be initialized.  Just set it to zero at the start of the function.
> Otherwise it's an uninitialized variable.
>
> drivers/staging/rtl8723bs/core/rtw_security.c:1308 rtw_BIP_verify() warn: not copying enough bytes for '&le_tmp64' (8 vs 6 bytes)
>
> regards,
> dan carpenter

I will send a separate patch to initialize le_tmp64 in
rtw_BIP_verify() as you suggested.

Regards,
Lin YuChen

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-03-19 17:01 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 16:51 [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Lin YuChen
2026-03-18 15:56 ` Greg KH
2026-03-18 21:51   ` [PATCH v2 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
2026-03-18 21:51     ` [PATCH v2 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
2026-03-19  7:59       ` Dan Carpenter
2026-03-19 12:07         ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Lin YuChen
2026-03-19 12:07           ` [PATCH v3 1/2] staging: rtl8723bs: use guard clause for AES check Lin YuChen
2026-03-19 12:07           ` [PATCH v3 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
2026-03-19 12:46           ` [PATCH v3 0/2] staging: rtl8723bs: refactor rtw_aes_decrypt() Dan Carpenter
2026-03-19 17:01             ` YuChen Lin
2026-03-18 21:51     ` [PATCH v2 2/2] staging: rtl8723bs: use guard clause for stainfo check Lin YuChen
2026-03-19  7:58 ` [PATCH] staging: rtl8723bs: refactor rtw_aes_decrypt() to reduce nesting Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox