On Sun, 28 Jan 2024 20:36:12 -0800 Linus Torvalds <torva...@linux-foundation.org> wrote:
> End result: the d_instantiate() needs to be done *after* the inode has > been fully filled in. > > Alternatively, you could > > (a) not drop the eventfs_mutex around the create_dir() call > > (b) take the eventfs_mutex around all of set_top_events_ownership() > > and just fix it by having the lock protect the lack of ordering. Hi Linus, Thanks for the analysis. I have a patch that removes the dropping of the mutex over the create_dir/file() calls, and lockdep hasn't complained about it. I was going to add that to my queue for the next merge window along with other clean ups but this looks like it actually fixes a real bug. I'll move that over to my urgent queue and start testing it. -- Steve