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]
Message-ID: <1482082238.2431.3.camel@perches.com>
Date:   Sun, 18 Dec 2016 09:30:38 -0800
From:   Joe Perches <joe@...ches.com>
To:     devendra sharma <devendra.sharma9091@...il.com>, abbotti@....co.uk
Cc:     hsweeten@...ionengravers.com, gregkh@...uxfoundation.org,
        ansonjacob.aj@...il.com, amitoj1606@...il.com,
        devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Staging:comedi:cb_pcidas64=>Fixed check patch warnings

On Sun, 2016-12-18 at 15:43 +0530, devendra sharma wrote:
> Fixed check patch warnings about multiple line dereferencing
[].
> diff --git a/drivers/staging/comedi/drivers/cb_pcidas64.c b/drivers/staging/comedi/drivers/cb_pcidas64.c
[]
> @@ -2476,18 +2475,15 @@ static int setup_channel_queue(struct comedi_device *dev,
>  			for (i = 0; i < cmd->chanlist_len; i++) {
>  				bits = 0;
>  				/* set channel */
> -				bits |= adc_chan_bits(CR_CHAN(cmd->
> -							      chanlist[i]));
> +				bits |= adc_chan_bits(
> +				CR_CHAN(cmd->chanlist[i]));
>  				/* set gain */
>  				bits |= ai_range_bits_6xxx(dev,
> -							   CR_RANGE(cmd->
> -								    chanlist
> -								    [i]));
> +				   CR_RANGE(cmd->chanlist[i]));
>  				/* set single-ended / differential */
>  				bits |= se_diff_bit_6xxx(dev,
> -							 CR_AREF(cmd->
> -								 chanlist[i]) ==
> -							 AREF_DIFF);
> +					 CR_AREF(cmd->chanlist[i]) ==
> +					 AREF_DIFF);
>  				if (CR_AREF(cmd->chanlist[i]) == AREF_COMMON)
>  					bits |= ADC_COMMON_BIT;
>  				/* mark end of queue */

This would be better handled by using a temporary like:

 			for (i = 0; i < cmd->chanlist_len; i++) {
				<type> list = cmd->chanlist[i];

				/* set channel */
				bits |= adc_chan_bits(CR_CHAN(list));
				/* set gain */
				bits |= ai_range_bmts_6xxx(dev, CR_RANGE(list));
				/* set single-ended / differential */
				bits |= se_diff_bit_6xxx(dev,
							 CR_AREF(list) == AREF_DIFF);
				if (CR_AREF(list) == AREF_COMMON)
					bits |= ADC_COMMON_BIT;

Or moving the indented block into a separate function.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ