hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/kernel/fail_function.c
....@@ -152,29 +152,18 @@
152152 DEFINE_DEBUGFS_ATTRIBUTE(fei_retval_ops, fei_retval_get, fei_retval_set,
153153 "%llx\n");
154154
155
-static int fei_debugfs_add_attr(struct fei_attr *attr)
155
+static void fei_debugfs_add_attr(struct fei_attr *attr)
156156 {
157157 struct dentry *dir;
158158
159159 dir = debugfs_create_dir(attr->kp.symbol_name, fei_debugfs_dir);
160
- if (!dir)
161
- return -ENOMEM;
162160
163
- if (!debugfs_create_file("retval", 0600, dir, attr, &fei_retval_ops)) {
164
- debugfs_remove_recursive(dir);
165
- return -ENOMEM;
166
- }
167
-
168
- return 0;
161
+ debugfs_create_file("retval", 0600, dir, attr, &fei_retval_ops);
169162 }
170163
171164 static void fei_debugfs_remove_attr(struct fei_attr *attr)
172165 {
173
- struct dentry *dir;
174
-
175
- dir = debugfs_lookup(attr->kp.symbol_name, fei_debugfs_dir);
176
- if (dir)
177
- debugfs_remove_recursive(dir);
166
+ debugfs_lookup_and_remove(attr->kp.symbol_name, fei_debugfs_dir);
178167 }
179168
180169 static int fei_kprobe_handler(struct kprobe *kp, struct pt_regs *regs)
....@@ -211,7 +200,7 @@
211200 {
212201 struct fei_attr *attr = list_entry(v, struct fei_attr, list);
213202
214
- seq_printf(m, "%pf\n", attr->kp.addr);
203
+ seq_printf(m, "%ps\n", attr->kp.addr);
215204 return 0;
216205 }
217206
....@@ -307,7 +296,7 @@
307296
308297 ret = register_kprobe(&attr->kp);
309298 if (!ret)
310
- ret = fei_debugfs_add_attr(attr);
299
+ fei_debugfs_add_attr(attr);
311300 if (ret < 0)
312301 fei_attr_remove(attr);
313302 else {
....@@ -339,19 +328,13 @@
339328 return PTR_ERR(dir);
340329
341330 /* injectable attribute is just a symlink of error_inject/list */
342
- if (!debugfs_create_symlink("injectable", dir,
343
- "../error_injection/list"))
344
- goto error;
331
+ debugfs_create_symlink("injectable", dir, "../error_injection/list");
345332
346
- if (!debugfs_create_file("inject", 0600, dir, NULL, &fei_ops))
347
- goto error;
333
+ debugfs_create_file("inject", 0600, dir, NULL, &fei_ops);
348334
349335 fei_debugfs_dir = dir;
350336
351337 return 0;
352
-error:
353
- debugfs_remove_recursive(dir);
354
- return -ENOMEM;
355338 }
356339
357340 late_initcall(fei_debugfs_init);