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] [day] [month] [year] [list]
Date:   Wed, 01 Feb 2017 14:11:22 -0800
From:   Joe Perches <joe@...ches.com>
To:     Craig Kewley <craigkewley@...il.com>,
        Forest Bond <forest@...ttletooquiet.net>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: vt6656: Avoid multiple line dereference

On Wed, 2017-02-01 at 21:43 +0000, Craig Kewley wrote:
> This patch fixes the checkpatch.pl warning:
> WARNING: Avoid multiple line dereference

Hi Craig.

Please try to make the code more sensible in preference to
just fixing checkpatch warnings.

> diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
[]
> @@ -692,8 +692,8 @@ static u16 vnt_generate_tx_parameter(struct vnt_usb_send_context *tx_context,
>  	    tx_context->pkt_type == PK_TYPE_11GA) {
>  		if (need_rts) {
>  			if (need_mic)
> -				*mic_hdr = &tx_buffer->
> -						tx_head.tx_rts.tx.mic.hdr;
> +				*mic_hdr =
> +					&tx_buffer->tx_head.tx_rts.tx.mic.hdr;
>  
>  			return vnt_rxtx_rts(tx_context, &tx_buffer->tx_head,
>  					    need_mic);

This block would be more legible using a temporary for
&tx_buffer->tx_head like:
---
 drivers/staging/vt6656/rxtx.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
index aa59e7f14ab3..89ca5c20cd1c 100644
--- a/drivers/staging/vt6656/rxtx.c
+++ b/drivers/staging/vt6656/rxtx.c
@@ -687,28 +687,27 @@ static u16 vnt_generate_tx_parameter(struct vnt_usb_send_context *tx_context,
 	struct vnt_mic_hdr **mic_hdr, u32 need_mic,
 	bool need_rts)
 {
+	union vnt_tx_head *tx_head = &tx_buffer->tx_head;
 
 	if (tx_context->pkt_type == PK_TYPE_11GB ||
 	    tx_context->pkt_type == PK_TYPE_11GA) {
 		if (need_rts) {
 			if (need_mic)
-				*mic_hdr = &tx_buffer->
-						tx_head.tx_rts.tx.mic.hdr;
+				*mic_hdr = &tx_head->tx_rts.tx.mic.hdr;
 
-			return vnt_rxtx_rts(tx_context, &tx_buffer->tx_head,
-					    need_mic);
+			return vnt_rxtx_rts(tx_context, tx_head, need_mic);
 		}
 
 		if (need_mic)
-			*mic_hdr = &tx_buffer->tx_head.tx_cts.tx.mic.hdr;
+			*mic_hdr = &tx_head->tx_cts.tx.mic.hdr;
 
-		return vnt_rxtx_cts(tx_context, &tx_buffer->tx_head, need_mic);
+		return vnt_rxtx_cts(tx_context, tx_head, need_mic);
 	}
 
 	if (need_mic)
-		*mic_hdr = &tx_buffer->tx_head.tx_ab.tx.mic.hdr;
+		*mic_hdr = &tx_head->tx_ab.tx.mic.hdr;
 
-	return vnt_rxtx_ab(tx_context, &tx_buffer->tx_head, need_rts, need_mic);
+	return vnt_rxtx_ab(tx_context, tx_head, need_rts, need_mic);
 }
 
 static void vnt_fill_txkey(struct vnt_usb_send_context *tx_context,

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ