Re: [PATCH 3/6] tracefs: dentry lookup crapectomy

Al Viro
2024-01-31T00:23:51Z

On Tue, Jan 30, 2024 at 11:03:52AM -0800, Linus Torvalds wrote:
> {
> struct eventfs_inode *ei;
>
> - mutex_lock(&eventfs_mutex);
> do {
> // The parent is stable because we do not do renames
> dentry = dentry->d_parent;
> @@ -247,7 +246,6 @@ static struct eventfs_inode *eventfs_find_events(struct dentry *dentry)
> }
> // Walk upwards until you find the events inode
> } while (!ei->is_events);
> - mutex_unlock(&eventfs_mutex);

Unless I'm missing something, you've just lost exclusion with
removals (not that the original hadn't been suspicious in that
respect - what's to protect ei past that mutex_unlock?