| From 2b359c1b296408041f144716ae03cdb2d1d86682 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 6 May 2021 18:02:10 -0700 |
| Subject: fs/proc/generic.c: fix incorrect pde_is_permanent check |
| |
| From: Colin Ian King <colin.king@canonical.com> |
| |
| [ Upstream commit f4bf74d82915708208bc9d0c9bd3f769f56bfbec ] |
| |
| Currently the pde_is_permanent() check is being run on root multiple times |
| rather than on the next proc directory entry. This looks like a |
| copy-paste error. Fix this by replacing root with next. |
| |
| Addresses-Coverity: ("Copy-paste error") |
| Link: https://lkml.kernel.org/r/20210318122633.14222-1-colin.king@canonical.com |
| Fixes: d919b33dafb3 ("proc: faster open/read/close with "permanent" files") |
| Signed-off-by: Colin Ian King <colin.king@canonical.com> |
| Acked-by: Christian Brauner <christian.brauner@ubuntu.com> |
| Reviewed-by: Alexey Dobriyan <adobriyan@gmail.com> |
| Cc: Greg Kroah-Hartman <gregkh@google.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| fs/proc/generic.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/fs/proc/generic.c b/fs/proc/generic.c |
| index 6c0a05f55d6b..09e4d8a499a3 100644 |
| --- a/fs/proc/generic.c |
| +++ b/fs/proc/generic.c |
| @@ -754,7 +754,7 @@ int remove_proc_subtree(const char *name, struct proc_dir_entry *parent) |
| while (1) { |
| next = pde_subdir_first(de); |
| if (next) { |
| - if (unlikely(pde_is_permanent(root))) { |
| + if (unlikely(pde_is_permanent(next))) { |
| write_unlock(&proc_subdir_lock); |
| WARN(1, "removing permanent /proc entry '%s/%s'", |
| next->parent->name, next->name); |
| -- |
| 2.30.2 |
| |