Re: [PATCH] iio: buffer: use sysfs_attr_init() on allocated attrs

2021-04-06 Thread Marek Szyprowski
On 02.04.2021 19:42, Alexandru Ardelean wrote:
> When dynamically allocating sysfs attributes, it's a good idea to call
> sysfs_attr_init() on them to initialize lock_class_keys.
> This change does that.
>
> The lock_class_keys are set when the CONFIG_DEBUG_LOCK_ALLOC symbol is
> enabled. Which is [likely] one reason why I did not see this during
> development.
>
> I also am not able to see this even with CONFIG_DEBUG_LOCK_ALLOC enabled,
> so this may [likely] be reproduce-able on some system configurations.
>
> This was reported via:
>
> https://lore.kernel.org/linux-iio/CA+U=DsrsvGgXEF30-vXuXS_k=-mjsjibweezwkb1hjvn1p9...@mail.gmail.com/T/#u
>
> Fixes: 15097c7a1adc ("iio: buffer: wrap all buffer attributes into 
> iio_dev_attr")
> Reported-by: Marek Szyprowski 
> Signed-off-by: Alexandru Ardelean 
> ---
>
> @Marek: could you maybe test this on your setup?
>
> I haven't been able to reproduce this on mine.

Works fine with this fix. Thanks!

Tested-by: Marek Szyprowski 

> Thanks
> Alex
>
>   drivers/iio/industrialio-buffer.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/drivers/iio/industrialio-buffer.c 
> b/drivers/iio/industrialio-buffer.c
> index ee5aab9d4a23..06b2ea087408 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -1309,6 +1309,7 @@ static struct attribute *iio_buffer_wrap_attr(struct 
> iio_buffer *buffer,
>   iio_attr->buffer = buffer;
>   memcpy(_attr->dev_attr, dattr, sizeof(iio_attr->dev_attr));
>   iio_attr->dev_attr.attr.name = kstrdup_const(attr->name, GFP_KERNEL);
> + sysfs_attr_init(_attr->dev_attr.attr);
>   
>   list_add(_attr->l, >buffer_attr_list);
>   

Best regards
-- 
Marek Szyprowski, PhD
Samsung R Institute Poland



Re: [PATCH] iio: buffer: use sysfs_attr_init() on allocated attrs

2021-04-04 Thread Jonathan Cameron
On Fri,  2 Apr 2021 20:42:26 +0300
Alexandru Ardelean  wrote:

> When dynamically allocating sysfs attributes, it's a good idea to call
> sysfs_attr_init() on them to initialize lock_class_keys.
> This change does that.
> 
> The lock_class_keys are set when the CONFIG_DEBUG_LOCK_ALLOC symbol is
> enabled. Which is [likely] one reason why I did not see this during
> development.
> 
> I also am not able to see this even with CONFIG_DEBUG_LOCK_ALLOC enabled,
> so this may [likely] be reproduce-able on some system configurations.
> 
> This was reported via:
>   
> https://lore.kernel.org/linux-iio/CA+U=DsrsvGgXEF30-vXuXS_k=-mjsjibweezwkb1hjvn1p9...@mail.gmail.com/T/#u
> 
> Fixes: 15097c7a1adc ("iio: buffer: wrap all buffer attributes into 
> iio_dev_attr")
> Reported-by: Marek Szyprowski  
> Signed-off-by: Alexandru Ardelean 
> ---
> 
> @Marek: could you maybe test this on your setup?
> 
> I haven't been able to reproduce this on mine.

I'm fairly sure this is the right fix, and 'should' resolve the issue Marek
saw so I'm going to queue it up.

Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to poke at it and see if we missed anything.

Thanks,

Jonathan

> 
> Thanks
> Alex
> 
>  drivers/iio/industrialio-buffer.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/iio/industrialio-buffer.c 
> b/drivers/iio/industrialio-buffer.c
> index ee5aab9d4a23..06b2ea087408 100644
> --- a/drivers/iio/industrialio-buffer.c
> +++ b/drivers/iio/industrialio-buffer.c
> @@ -1309,6 +1309,7 @@ static struct attribute *iio_buffer_wrap_attr(struct 
> iio_buffer *buffer,
>   iio_attr->buffer = buffer;
>   memcpy(_attr->dev_attr, dattr, sizeof(iio_attr->dev_attr));
>   iio_attr->dev_attr.attr.name = kstrdup_const(attr->name, GFP_KERNEL);
> + sysfs_attr_init(_attr->dev_attr.attr);
>  
>   list_add(_attr->l, >buffer_attr_list);
>  



[PATCH] iio: buffer: use sysfs_attr_init() on allocated attrs

2021-04-02 Thread Alexandru Ardelean
When dynamically allocating sysfs attributes, it's a good idea to call
sysfs_attr_init() on them to initialize lock_class_keys.
This change does that.

The lock_class_keys are set when the CONFIG_DEBUG_LOCK_ALLOC symbol is
enabled. Which is [likely] one reason why I did not see this during
development.

I also am not able to see this even with CONFIG_DEBUG_LOCK_ALLOC enabled,
so this may [likely] be reproduce-able on some system configurations.

This was reported via:
  
https://lore.kernel.org/linux-iio/CA+U=DsrsvGgXEF30-vXuXS_k=-mjsjibweezwkb1hjvn1p9...@mail.gmail.com/T/#u

Fixes: 15097c7a1adc ("iio: buffer: wrap all buffer attributes into 
iio_dev_attr")
Reported-by: Marek Szyprowski  
Signed-off-by: Alexandru Ardelean 
---

@Marek: could you maybe test this on your setup?

I haven't been able to reproduce this on mine.

Thanks
Alex

 drivers/iio/industrialio-buffer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/iio/industrialio-buffer.c 
b/drivers/iio/industrialio-buffer.c
index ee5aab9d4a23..06b2ea087408 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -1309,6 +1309,7 @@ static struct attribute *iio_buffer_wrap_attr(struct 
iio_buffer *buffer,
iio_attr->buffer = buffer;
memcpy(_attr->dev_attr, dattr, sizeof(iio_attr->dev_attr));
iio_attr->dev_attr.attr.name = kstrdup_const(attr->name, GFP_KERNEL);
+   sysfs_attr_init(_attr->dev_attr.attr);
 
list_add(_attr->l, >buffer_attr_list);
 
-- 
2.30.2