projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7f1e53f
)
kernel/fail_function: fix memory leak with using debugfs_lookup()
author
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 2 Feb 2023 15:16:33 +0000
(16:16 +0100)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 12:57:38 +0000
(13:57 +0100)
[ Upstream commit
2bb3669f576559db273efe49e0e69f82450efbca
]
When calling debugfs_lookup() the result must have dput() called on it,
otherwise the memory will leak over time. To make things simpler, just
call debugfs_lookup_and_remove() instead which handles all of the logic
at once.
Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Yang Yingliang <yangyingliang@huawei.com>
Link:
https://lore.kernel.org/r/20230202151633.2310897-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/fail_function.c
patch
|
blob
|
history
diff --git
a/kernel/fail_function.c
b/kernel/fail_function.c
index 60dc825ecc2b31ee3add395282fc79cf1e8c5f3d..d81ec8476581169a591ff097c6641468b160e32d 100644
(file)
--- a/
kernel/fail_function.c
+++ b/
kernel/fail_function.c
@@
-163,10
+163,7
@@
static void fei_debugfs_add_attr(struct fei_attr *attr)
static void fei_debugfs_remove_attr(struct fei_attr *attr)
{
- struct dentry *dir;
-
- dir = debugfs_lookup(attr->kp.symbol_name, fei_debugfs_dir);
- debugfs_remove_recursive(dir);
+ debugfs_lookup_and_remove(attr->kp.symbol_name, fei_debugfs_dir);
}
static int fei_kprobe_handler(struct kprobe *kp, struct pt_regs *regs)