[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210218100818.3622317-1-gregkh@linuxfoundation.org>
Date: Thu, 18 Feb 2021 11:08:17 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Michael Walle <michael@...le.cc>,
Marc Zyngier <maz@...nel.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
stable <stable@...r.kernel.org>
Subject: [PATCH 1/2] debugfs: be more robust at handling improper input in debugfs_lookup()
debugfs_lookup() doesn't like it if it is passed an illegal name
pointer, or if the filesystem isn't even initialized yet. If either of
these happen, it will crash the system, so fix it up by properly testing
for valid input and that we are up and running before trying to find a
file in the filesystem.
Reported-by: Michael Walle <michael@...le.cc>
Tested-by: Michael Walle <michael@...le.cc>
Tested-by: Marc Zyngier <maz@...nel.org>
Cc: "Rafael J. Wysocki" <rafael@...nel.org>
Cc: stable <stable@...r.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
---
fs/debugfs/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 2fcf66473436..bbeb563cbe78 100644
--- a/fs/debugfs/inode.c
+++ b/fs/debugfs/inode.c
@@ -297,7 +297,7 @@ struct dentry *debugfs_lookup(const char *name, struct dentry *parent)
{
struct dentry *dentry;
- if (IS_ERR(parent))
+ if (!debugfs_initialized() || IS_ERR_OR_NULL(name) || IS_ERR(parent))
return NULL;
if (!parent)
--
2.30.1
Powered by blists - more mailing lists