Commit 62d65cac authored by Steven Rostedt (Google)'s avatar Steven Rostedt (Google)
Browse files

eventfs: Remove special processing of dput() of events directory

The top level events directory is no longer special with regards to how it
should be delete. Remove the extra processing for it in
eventfs_set_ei_status_free().

Link: https://lkml.kernel.org/r/20231101172650.340876747@goodmis.org



Cc: Ajay Kaher <akaher@vmware.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
parent 020010fb
Loading
Loading
Loading
Loading
+2 −17
Original line number Diff line number Diff line
@@ -274,27 +274,10 @@ static void free_ei(struct eventfs_inode *ei)
 */
void eventfs_set_ei_status_free(struct tracefs_inode *ti, struct dentry *dentry)
{
	struct tracefs_inode *ti_parent;
	struct eventfs_inode *ei;
	int i;

	/* The top level events directory may be freed by this */
	if (unlikely(ti->flags & TRACEFS_EVENT_TOP_INODE)) {
	mutex_lock(&eventfs_mutex);
		ei = ti->private;
		/* Nothing should access this, but just in case! */
		ti->private = NULL;
		mutex_unlock(&eventfs_mutex);

		free_ei(ei);
		return;
	}

	mutex_lock(&eventfs_mutex);

	ti_parent = get_tracefs(dentry->d_parent->d_inode);
	if (!ti_parent || !(ti_parent->flags & TRACEFS_EVENT_INODE))
		goto out;

	ei = dentry->d_fsdata;
	if (!ei)
@@ -920,6 +903,8 @@ struct eventfs_inode *eventfs_create_events_dir(const char *name, struct dentry
	inode->i_op = &eventfs_root_dir_inode_operations;
	inode->i_fop = &eventfs_file_operations;

	dentry->d_fsdata = ei;

	/* directory inodes start off with i_nlink == 2 (for "." entry) */
	inc_nlink(inode);
	d_instantiate(dentry, inode);