[irqchip:,irq/irqchip-next] debugfs: be more robust at handling improper input in debugfs_lookup()
diff mbox series

Message ID 161364860464.20312.2309189013450325518.tip-bot2@tip-bot2
State Accepted
Commit bc6de804d36b3709d54fa22bd128cbac91c11526
Headers show
Series
  • [irqchip:,irq/irqchip-next] debugfs: be more robust at handling improper input in debugfs_lookup()
Related show

Commit Message

tip-bot2 for Paul Gortmaker Feb. 18, 2021, 11:43 a.m. UTC
The following commit has been merged into the irq/irqchip-next branch of irqchip:

Commit-ID:     2ad058730606cb68e75177ee7e330e1f94ab7b4b
Gitweb:        https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms/2ad058730606cb68e75177ee7e330e1f94ab7b4b
Author:        Greg Kroah-Hartman <gregkh@linuxfoundation.org>
AuthorDate:    Thu, 18 Feb 2021 11:08:17 +01:00
Committer:     Marc Zyngier <maz@kernel.org>
CommitterDate: Thu, 18 Feb 2021 11:39:18 

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@walle.cc>
Tested-by: Michael Walle <michael@walle.cc>
Tested-by: Marc Zyngier <maz@kernel.org>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210218100818.3622317-1-gregkh@linuxfoundation.org
---
 fs/debugfs/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c
index 2fcf664..bbeb563 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)