[PATCH] cxl: Fix lockdep warning while creating afu_err_buff attribute
Daniel Axtens
dja at axtens.net
Wed Sep 23 13:21:06 AEST 2015
Reviewed-by: Daniel Axtens <dja at axtens.net>
Thanks Vaibhav!
On Wed, 2015-09-23 at 08:37 +0530, Vaibhav Jain wrote:
> Presently a lockdep warning is reported during creation of afu_err_buff
> bin_attribute for the afu. This is caused due to the variable attr.key
> not pointing to a static class key, hence the function lockdep_init_map
> reports this warning:
>
> BUG: key <some-address> not in .data!
>
> The patch fixes this issue by calling sysfs_attr_init on the
> attr_eb.attr structure before populating it with the afu_err_buff file
> details. This will populate the attr.key variable with a static class
> key so that lockdep_init_map stops complaining about the lockdep key not
> being static.
>
> Reported-by: Daniel Axtens <dja at axtens.net>
> Signed-off-by: Vaibhav Jain <vaibhav at linux.vnet.ibm.com>
> ---
> drivers/misc/cxl/sysfs.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/misc/cxl/sysfs.c b/drivers/misc/cxl/sysfs.c
> index 25868c2..02006f7 100644
> --- a/drivers/misc/cxl/sysfs.c
> +++ b/drivers/misc/cxl/sysfs.c
> @@ -592,6 +592,8 @@ int cxl_sysfs_afu_add(struct cxl_afu *afu)
>
> /* conditionally create the add the binary file for error info buffer */
> if (afu->eb_len) {
> + sysfs_attr_init(&afu->attr_eb.attr);
> +
> afu->attr_eb.attr.name = "afu_err_buff";
> afu->attr_eb.attr.mode = S_IRUGO;
> afu->attr_eb.size = afu->eb_len;
--
Regards,
Daniel
More information about the Linuxppc-dev
mailing list