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: <54DF38BF.9040404@kernel.org>
Date:	Sat, 14 Feb 2015 11:59:59 +0000
From:	Jonathan Cameron <jic23@...nel.org>
To:	Vaishali Thakkar <vthakkar1994@...il.com>
CC:	Hartmut Knaack <knaack.h@....de>,
	Lars-Peter Clausen <lars@...afoo.de>,
	Peter Meerwald <pmeerw@...erw.net>, linux-iio@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] iio: gp2ap020a00f: Use put_unaligned_le32

On 11/02/15 09:17, Vaishali Thakkar wrote:
> This patch introduces the use of function put_unaligned_le32.
> 
> This is done using Coccinelle and semantic patch used is as follows:
> 
> @@ identifier tmp; expression ptr; expression y,e; type T; @@
> 
> - tmp = cpu_to_le32(y);
> 
>   <+... when != tmp
> - memcpy(ptr, (T)&tmp, ...);
> + put_unaligned_le32(y,ptr);
>   ...+>
> ? tmp = e
> 
> @@ type T; identifier tmp; @@
> 
> - T tmp;
> ...when != tmp
> 
> Signed-off-by: Vaishali Thakkar <vthakkar1994@...il.com>
Applied to togreg branch of iio.git.  Will be initially pushed out as
testing for the autobuilders to play with it.

Thanks,
> ---
>  drivers/iio/light/gp2ap020a00f.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a00f.c
> index 221ed16..650c05f 100644
> --- a/drivers/iio/light/gp2ap020a00f.c
> +++ b/drivers/iio/light/gp2ap020a00f.c
> @@ -966,7 +966,6 @@ static irqreturn_t gp2ap020a00f_trigger_handler(int irq, void *data)
>  	struct iio_dev *indio_dev = pf->indio_dev;
>  	struct gp2ap020a00f_data *priv = iio_priv(indio_dev);
>  	size_t d_size = 0;
> -	__le32 light_lux;
>  	int i, out_val, ret;
>  
>  	for_each_set_bit(i, indio_dev->active_scan_mask,
> @@ -981,8 +980,8 @@ static irqreturn_t gp2ap020a00f_trigger_handler(int irq, void *data)
>  		    i == GP2AP020A00F_SCAN_MODE_LIGHT_IR) {
>  			out_val = le16_to_cpup((__le16 *)&priv->buffer[d_size]);
>  			gp2ap020a00f_output_to_lux(priv, &out_val);
> -			light_lux = cpu_to_le32(out_val);
> -			memcpy(&priv->buffer[d_size], (u8 *)&light_lux, 4);
> +
> +			put_unaligned_le32(out_val, &priv->buffer[d_size]);
>  			d_size += 4;
>  		} else {
>  			d_size += 2;
> 

--
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