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, 29 Mar 2017 22:05:52 +0100
From:   Jonathan Cameron <jic23@...nel.org>
To:     simran singhal <singhalsimran0@...il.com>
Cc:     Hartmut Knaack <knaack.h@....de>,
        Lars-Peter Clausen <lars@...afoo.de>,
        Peter Meerwald-Stadler <pmeerw@...erw.net>,
        linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
        outreachy-kernel@...glegroups.com
Subject: Re: [PATCH] iio: light: lm3533-als: constify attribute_group
 structures

On 28/03/17 21:25, simran singhal wrote:
> Check for attribute_group structures that are only stored in the
> event_attrs filed of iio_info structure. As the event_attrs field of
> iio_info structures is constant, so these attribute_group structures can
> also be declared constant. Done using coccinelle:
> 
> @r1 disable optional_qualifier @
> identifier i;
> position p;
> @@
> static struct attribute_group i@p = {...};
> 
> @ok1@
> identifier r1.i;
> position p;
> struct iio_info x;
> @@
> x.event_attrs=&i@p;
> 
> @bad@
> position p!={r1.p,ok1.p};
> identifier r1.i;
> @@
> i@p
> 
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> static
> +const
> struct attribute_group i={...};
> 
> @depends on !bad disable optional_qualifier@
> identifier r1.i;
> @@
> +const
> struct attribute_group i;
> 
> File size before:
>    text    data     bss     dec     hex filename
>    5798    2376       0    8174    1fee drivers/iio/light/lm3533-als.o
> 
> File size after:
>    text	   data	    bss	    dec	    hex	filename
>    5862	   2312	      0	   8174	   1fee	drivers/iio/light/lm3533-als.o
> 
> Signed-off-by: simran singhal <singhalsimran0@...il.com>
It's a good patch, but when you were checking it made sense did you
notice any related changes that should also be made?

See inline.  I'd like to see both in the same patch rather than two micro
patches..
> ---
>  drivers/iio/light/lm3533-als.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c
> index f409c20..0bcc843 100644
> --- a/drivers/iio/light/lm3533-als.c
> +++ b/drivers/iio/light/lm3533-als.c
> @@ -690,7 +690,7 @@ static struct attribute *lm3533_als_event_attributes[] = {
>  	NULL
>  };
>  
> -static struct attribute_group lm3533_als_event_attribute_group = {
> +static const struct attribute_group lm3533_als_event_attribute_group = {
>  	.attrs = lm3533_als_event_attributes
>  };
When this gets used it is in a block that looks like:
static const struct iio_info lm3533_als_info = {
	.attrs		= &lm3533_als_attribute_group,
	.event_attrs	= &lm3533_als_event_attribute_group,
	.driver_module	= THIS_MODULE,
	.read_raw	= &lm3533_als_read_raw,
};

This would make me wonder if the issue being improved on might be
repeated as we have two attr groups and hopefully the author was consistent!

A quick search gives:

static struct attribute_group lm3533_als_attribute_group = {
	.attrs = lm3533_als_attributes
};

Also could be made const as both are const in struct iio_dev now.

I wouldn't mind so much, but the patch title kind of hints that it
is covering all attribute_group structures, whereas you only
looked at one of the two present.

If you wouldn't mind doing a v2 (noting that coccinelle patch presented
presumably only found one of them), that includes both. That would great.

Thanks

Jonathan

>  
> 

Powered by blists - more mailing lists