Re: [PATCH] cxl: Fix lockdep warning while creating afu_err_buff attribute
From: Daniel Axtens <hidden>
Date: 2015-09-23 03:24:31
Reviewed-by: Daniel Axtens <redacted> Thanks Vaibhav! On Wed, 2015-09-23 at 08:37 +0530, Vaibhav Jain wrote:
quoted hunk ↗ jump to hunk
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 <redacted> Signed-off-by: Vaibhav Jain <redacted> --- 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