eventfs: Do not allow NULL parent to eventfs_start_creating()
commit fc4561226f upstream.
The eventfs directory is dynamically created via the meta data supplied by
the existing trace events. All files and directories in eventfs has a
parent. Do not allow NULL to be passed into eventfs_start_creating() as
the parent because that should never happen. Warn if it does.
Link: https://lkml.kernel.org/r/20231121231112.693841807@goodmis.org
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
43fbddf34c
commit
29bb70cad6
+4
-9
@@ -509,20 +509,15 @@ struct dentry *eventfs_start_creating(const char *name, struct dentry *parent)
|
||||
struct dentry *dentry;
|
||||
int error;
|
||||
|
||||
/* Must always have a parent. */
|
||||
if (WARN_ON_ONCE(!parent))
|
||||
return ERR_PTR(-EINVAL);
|
||||
|
||||
error = simple_pin_fs(&trace_fs_type, &tracefs_mount,
|
||||
&tracefs_mount_count);
|
||||
if (error)
|
||||
return ERR_PTR(error);
|
||||
|
||||
/*
|
||||
* If the parent is not specified, we create it in the root.
|
||||
* We need the root dentry to do this, which is in the super
|
||||
* block. A pointer to that is in the struct vfsmount that we
|
||||
* have around.
|
||||
*/
|
||||
if (!parent)
|
||||
parent = tracefs_mount->mnt_root;
|
||||
|
||||
if (unlikely(IS_DEADDIR(parent->d_inode)))
|
||||
dentry = ERR_PTR(-ENOENT);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user