Patchwork [v3,-next] ACPI: APEI: EINJ: Use DEFINE_DEBUGFS_ATTRIBUTE for debugfs files

login
register
mail settings
Submitter YueHaibing
Date Jan. 2, 2019, 1:18 p.m.
Message ID <1546435088-45448-1-git-send-email-yuehaibing@huawei.com>
Download mbox | patch
Permalink /patch/691617/
State New
Headers show

Comments

YueHaibing - Jan. 2, 2019, 1:18 p.m.
Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
for debugfs files to make debugfs_simple_attr.cocci warnings go away.

Semantic patch information:
Rationale: DEFINE_SIMPLE_ATTRIBUTE + debugfs_create_file()
imposes some significant overhead as compared to
DEFINE_DEBUGFS_ATTRIBUTE + debugfs_create_file_unsafe().

Generated by: scripts/coccinelle/api/debugfs/debugfs_simple_attr.cocci

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
---
v3: add semantic patch information
v2: fix patch title and log
---
 drivers/acpi/apei/einj.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)
Borislav Petkov - Jan. 14, 2019, 10:51 a.m.
On Wed, Jan 02, 2019 at 01:18:08PM +0000, YueHaibing wrote:
> Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
> for debugfs files to make debugfs_simple_attr.cocci warnings go away.
> 
> Semantic patch information:
> Rationale: DEFINE_SIMPLE_ATTRIBUTE + debugfs_create_file()
> imposes some significant overhead as compared to
> DEFINE_DEBUGFS_ATTRIBUTE + debugfs_create_file_unsafe().
> 
> Generated by: scripts/coccinelle/api/debugfs/debugfs_simple_attr.cocci
> 
> Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> ---
> v3: add semantic patch information
> v2: fix patch title and log
> ---
>  drivers/acpi/apei/einj.c | 17 +++++++++--------
>  1 file changed, 9 insertions(+), 8 deletions(-)

Acked-by: Borislav Petkov <bp@suse.de>
Rafael J. Wysocki - Jan. 15, 2019, 6:43 p.m.
On Monday, January 14, 2019 11:51:51 AM CET Borislav Petkov wrote:
> On Wed, Jan 02, 2019 at 01:18:08PM +0000, YueHaibing wrote:
> > Use DEFINE_DEBUGFS_ATTRIBUTE rather than DEFINE_SIMPLE_ATTRIBUTE
> > for debugfs files to make debugfs_simple_attr.cocci warnings go away.
> > 
> > Semantic patch information:
> > Rationale: DEFINE_SIMPLE_ATTRIBUTE + debugfs_create_file()
> > imposes some significant overhead as compared to
> > DEFINE_DEBUGFS_ATTRIBUTE + debugfs_create_file_unsafe().
> > 
> > Generated by: scripts/coccinelle/api/debugfs/debugfs_simple_attr.cocci
> > 
> > Signed-off-by: YueHaibing <yuehaibing@huawei.com>
> > ---
> > v3: add semantic patch information
> > v2: fix patch title and log
> > ---
> >  drivers/acpi/apei/einj.c | 17 +++++++++--------
> >  1 file changed, 9 insertions(+), 8 deletions(-)
> 
> Acked-by: Borislav Petkov <bp@suse.de>

Patch applied, thanks!

Patch

diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c
index fcccbfd..6119da1 100644
--- a/drivers/acpi/apei/einj.c
+++ b/drivers/acpi/apei/einj.c
@@ -644,8 +644,8 @@  static int error_type_set(void *data, u64 val)
 	return 0;
 }
 
-DEFINE_SIMPLE_ATTRIBUTE(error_type_fops, error_type_get,
-			error_type_set, "0x%llx\n");
+DEFINE_DEBUGFS_ATTRIBUTE(error_type_fops, error_type_get, error_type_set,
+			 "0x%llx\n");
 
 static int error_inject_set(void *data, u64 val)
 {
@@ -656,8 +656,7 @@  static int error_inject_set(void *data, u64 val)
 		error_param3, error_param4);
 }
 
-DEFINE_SIMPLE_ATTRIBUTE(error_inject_fops, NULL,
-			error_inject_set, "%llu\n");
+DEFINE_DEBUGFS_ATTRIBUTE(error_inject_fops, NULL, error_inject_set, "%llu\n");
 
 static int einj_check_table(struct acpi_table_einj *einj_tab)
 {
@@ -718,12 +717,14 @@  static int __init einj_init(void)
 	if (!fentry)
 		goto err_cleanup;
 
-	fentry = debugfs_create_file("error_type", S_IRUSR | S_IWUSR,
-				     einj_debug_dir, NULL, &error_type_fops);
+	fentry = debugfs_create_file_unsafe("error_type", 0600,
+					    einj_debug_dir, NULL,
+					    &error_type_fops);
 	if (!fentry)
 		goto err_cleanup;
-	fentry = debugfs_create_file("error_inject", S_IWUSR,
-				     einj_debug_dir, NULL, &error_inject_fops);
+	fentry = debugfs_create_file_unsafe("error_inject", 0200,
+					    einj_debug_dir, NULL,
+					    &error_inject_fops);
 	if (!fentry)
 		goto err_cleanup;