Re: [PATCH 3/6] tracefs: dentry lookup crapectomy
From: Al Viro <viro@zeniv.linux.org.uk>
Date: 2024-01-31 00:07:37
Also in:
lkml
From: Al Viro <viro@zeniv.linux.org.uk>
Date: 2024-01-31 00:07:37
Also in:
lkml
On Tue, Jan 30, 2024 at 06:55:36PM -0500, Steven Rostedt wrote:
Actually it's the tracefs_start_creating() locks the inode, the eventfs_start_creating() doesn't.
Right.
quoted
quoted
if (unlikely(!inode)) return eventfs_failed_creating(dentry);... and that still unlocks it.
This is still bogus, though - both the stray dput() and
dropping a reference to internal mount.
struct dentry *eventfs_failed_creating(struct dentry *dentry)
{
dput(dentry);
simple_release_fs(&tracefs_mount, &tracefs_mount_count);
return NULL;
}