On Wed, 22 May 2024 12:45:04 -0400 Steven Rostedt <rost...@goodmis.org> wrote:
> From: "Steven Rostedt (Google)" <rost...@goodmis.org> > > The iput callback was added because the remount could call into the > eventfs code and touch the ei->entry_attrs array, which could have been > freed when an eventfs directory is freed (via a synthetic event). But the > entry_attrs was freed incorrectly and since been fixed to be freed after > the last reference of the ei is done. > > The iput clears the TRACEFS_EVENT_INODE flag of the tracefs_inode > preventing it from calling the eventfs_remount() function. But the iput > can be called after the last reference to the inode is done but the > eventfs_inode still exists, causing the eventfs_remount() not to be called > on an tracefs_inode when it should be. Testing this more, I found that the iput is still needed, as the deletion of the eventfs inodes can happen before the inode is released. Will produce a v2 that handles this properly. -- Steve