aboutsummaryrefslogtreecommitdiffstats
path: root/p08
diff options
Diffstat (limited to 'p08')
-rw-r--r--p08140
1 files changed, 140 insertions, 0 deletions
diff --git a/p08 b/p08
new file mode 100644
index 00000000000000..dd18811f283d0f
--- /dev/null
+++ b/p08
@@ -0,0 +1,140 @@
+From e82f2d8eab210dc7eb0dba2bd8e3c64ad485442b Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Wed, 30 May 2018 16:15:35 +0200
+Subject: [PATCH] x86: kdebugfs: no need to check return value of debugfs_create functions
+
+When calling debugfs functions, there is no need to ever check the
+return value. The function can work or not, but the code logic should
+never do something different based on this.
+
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Ingo Molnar <mingo@redhat.com>
+Cc: Borislav Petkov <bp@alien8.de>
+Cc: "H. Peter Anvin" <hpa@zytor.com>
+Cc: <x86@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/x86/kernel/kdebugfs.c | 60 ++++++++-------------------------------------
+ 1 file changed, 11 insertions(+), 49 deletions(-)
+
+--- a/arch/x86/kernel/kdebugfs.c
++++ b/arch/x86/kernel/kdebugfs.c
+@@ -68,33 +68,18 @@ static const struct file_operations fops
+ .llseek = default_llseek,
+ };
+
+-static int __init
++static void __init
+ create_setup_data_node(struct dentry *parent, int no,
+ struct setup_data_node *node)
+ {
+- struct dentry *d, *type, *data;
++ struct dentry *d;
+ char buf[16];
+
+ sprintf(buf, "%d", no);
+ d = debugfs_create_dir(buf, parent);
+- if (!d)
+- return -ENOMEM;
+-
+- type = debugfs_create_x32("type", S_IRUGO, d, &node->type);
+- if (!type)
+- goto err_dir;
+-
+- data = debugfs_create_file("data", S_IRUGO, d, node, &fops_setup_data);
+- if (!data)
+- goto err_type;
+
+- return 0;
+-
+-err_type:
+- debugfs_remove(type);
+-err_dir:
+- debugfs_remove(d);
+- return -ENOMEM;
++ debugfs_create_x32("type", S_IRUGO, d, &node->type);
++ debugfs_create_file("data", S_IRUGO, d, node, &fops_setup_data);
+ }
+
+ static int __init create_setup_data_nodes(struct dentry *parent)
+@@ -107,8 +92,6 @@ static int __init create_setup_data_node
+ int no = 0;
+
+ d = debugfs_create_dir("setup_data", parent);
+- if (!d)
+- return -ENOMEM;
+
+ pa_data = boot_params.hdr.setup_data;
+
+@@ -129,19 +112,17 @@ static int __init create_setup_data_node
+ node->paddr = pa_data;
+ node->type = data->type;
+ node->len = data->len;
+- error = create_setup_data_node(d, no, node);
++ create_setup_data_node(d, no, node);
+ pa_data = data->next;
+
+ memunmap(data);
+- if (error)
+- goto err_dir;
+ no++;
+ }
+
+ return 0;
+
+ err_dir:
+- debugfs_remove(d);
++ debugfs_remove_recursive(d);
+ return error;
+ }
+
+@@ -152,35 +133,18 @@ static struct debugfs_blob_wrapper boot_
+
+ static int __init boot_params_kdebugfs_init(void)
+ {
+- struct dentry *dbp, *version, *data;
+- int error = -ENOMEM;
++ struct dentry *dbp;
++ int error;
+
+ dbp = debugfs_create_dir("boot_params", arch_debugfs_dir);
+- if (!dbp)
+- return -ENOMEM;
+
+- version = debugfs_create_x16("version", S_IRUGO, dbp,
+- &boot_params.hdr.version);
+- if (!version)
+- goto err_dir;
+-
+- data = debugfs_create_blob("data", S_IRUGO, dbp,
+- &boot_params_blob);
+- if (!data)
+- goto err_version;
++ debugfs_create_x16("version", S_IRUGO, dbp, &boot_params.hdr.version);
++ debugfs_create_blob("data", S_IRUGO, dbp, &boot_params_blob);
+
+ error = create_setup_data_nodes(dbp);
+ if (error)
+- goto err_data;
++ debugfs_remove_recursive(dbp);
+
+- return 0;
+-
+-err_data:
+- debugfs_remove(data);
+-err_version:
+- debugfs_remove(version);
+-err_dir:
+- debugfs_remove(dbp);
+ return error;
+ }
+ #endif /* CONFIG_DEBUG_BOOT_PARAMS */
+@@ -190,8 +154,6 @@ static int __init arch_kdebugfs_init(voi
+ int error = 0;
+
+ arch_debugfs_dir = debugfs_create_dir("x86", NULL);
+- if (!arch_debugfs_dir)
+- return -ENOMEM;
+
+ #ifdef CONFIG_DEBUG_BOOT_PARAMS
+ error = boot_params_kdebugfs_init();