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: <20241219174125.1a75a429@jic23-huawei>
Date: Thu, 19 Dec 2024 17:41:25 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: Vasileios Amoiridis <vassilisamir@...il.com>
Cc: lars@...afoo.de, krzysztof.kozlowski@...aro.org, nuno.sa@...log.com,
 u.kleine-koenig@...libre.com, abhashkumarjha123@...il.com,
 jstephan@...libre.com, dlechner@...libre.com, jackoalan@...il.com,
 k.wrona@...sung.com, linux-iio@...r.kernel.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/4] iio: adc: dln2-adc: zero full struct instead of
 just the padding

On Sat, 14 Dec 2024 20:14:18 +0100
Vasileios Amoiridis <vassilisamir@...il.com> wrote:

> Drop a minor optimization of zeroing the padding between data and
> timestamp and zero the whole structure. This is done in favor of
> simpler code, and in order to drop the usage of the internal private
> variable "scan_timestamp" of the struct iio_dev.
> 
> Signed-off-by: Vasileios Amoiridis <vassilisamir@...il.com>
Applied.

thanks,

Jonathan

> ---
>  drivers/iio/adc/dln2-adc.c | 21 ++-------------------
>  1 file changed, 2 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/iio/adc/dln2-adc.c b/drivers/iio/adc/dln2-adc.c
> index 30328626d9be..221a5fdc1eaa 100644
> --- a/drivers/iio/adc/dln2-adc.c
> +++ b/drivers/iio/adc/dln2-adc.c
> @@ -66,8 +66,6 @@ struct dln2_adc {
>  	/* Demux table */
>  	unsigned int demux_count;
>  	struct dln2_adc_demux_table demux[DLN2_ADC_MAX_CHANNELS];
> -	/* Precomputed timestamp padding offset and length */
> -	unsigned int ts_pad_offset, ts_pad_length;
>  };
>  
>  struct dln2_adc_port_chan {
> @@ -111,8 +109,6 @@ static void dln2_adc_update_demux(struct dln2_adc *dln2)
>  	if (iio_get_masklength(indio_dev) &&
>  	    (*indio_dev->active_scan_mask & 0xff) == 0xff) {
>  		dln2_adc_add_demux(dln2, 0, 0, 16);
> -		dln2->ts_pad_offset = 0;
> -		dln2->ts_pad_length = 0;
>  		return;
>  	}
>  
> @@ -127,16 +123,6 @@ static void dln2_adc_update_demux(struct dln2_adc *dln2)
>  		out_loc += 2;
>  		in_loc += 2;
>  	}
> -
> -	if (indio_dev->scan_timestamp) {
> -		size_t ts_offset = indio_dev->scan_bytes / sizeof(int64_t) - 1;
> -
> -		dln2->ts_pad_offset = out_loc;
> -		dln2->ts_pad_length = ts_offset * sizeof(int64_t) - out_loc;
> -	} else {
> -		dln2->ts_pad_offset = 0;
> -		dln2->ts_pad_length = 0;
> -	}
>  }
>  
>  static int dln2_adc_get_chan_count(struct dln2_adc *dln2)
> @@ -494,6 +480,8 @@ static irqreturn_t dln2_adc_trigger_h(int irq, void *p)
>  	if (ret < 0)
>  		goto done;
>  
> +	memset(&data, 0, sizeof(data));
> +
>  	/* Demux operation */
>  	for (i = 0; i < dln2->demux_count; ++i) {
>  		t = &dln2->demux[i];
> @@ -501,11 +489,6 @@ static irqreturn_t dln2_adc_trigger_h(int irq, void *p)
>  		       (void *)dev_data.values + t->from, t->length);
>  	}
>  
> -	/* Zero padding space between values and timestamp */
> -	if (dln2->ts_pad_length)
> -		memset((void *)data.values + dln2->ts_pad_offset,
> -		       0, dln2->ts_pad_length);
> -
>  	iio_push_to_buffers_with_timestamp(indio_dev, &data,
>  					   iio_get_time_ns(indio_dev));
>  


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ