]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
debugfs: do not attempt to create a new file before the filesystem is initalized
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Feb 2021 10:08:18 +0000 (11:08 +0100)
committerAndrea Righi <andrea.righi@canonical.com>
Mon, 15 Mar 2021 14:08:49 +0000 (15:08 +0100)
commit 56348560d495d2501e87db559a61de717cd3ab02 upstream.

Some subsystems want to add debugfs files at early boot, way before
debugfs is initialized.  This seems to work somehow as the vfs layer
will not allow it to happen, but let's be explicit and test to ensure we
are properly up and running before allowing files to be created.

Cc: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: stable <stable@vger.kernel.org>
Reported-by: Michael Walle <michael@walle.cc>
Reported-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20210218100818.3622317-2-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Andrea Righi <andrea.righi@canonical.com>
fs/debugfs/inode.c

index bbeb563cbe7898db9bddc7c51563746f5fe7f4ae..86c7f048962078154e3f086b16a27cc2704a9b45 100644 (file)
@@ -318,6 +318,9 @@ static struct dentry *start_creating(const char *name, struct dentry *parent)
        if (!(debugfs_allow & DEBUGFS_ALLOW_API))
                return ERR_PTR(-EPERM);
 
+       if (!debugfs_initialized())
+               return ERR_PTR(-ENOENT);
+
        pr_debug("creating file '%s'\n", name);
 
        if (IS_ERR(parent))