Linus took the time to massively clean up the eventfs logic. I took his code and made tweaks to represent some of the feedback from Al Viro and also fix issues that came up in testing. The diff between v1 and this can be found here: https://lore.kernel.org/linux-trace-kernel/20240131105847.3e9afcb8@xxxxxxxxxxxxxxxxxx/ Although the first patch I changed to use memset_after() since that update. I would like to have this entire series go all the way back to 6.6 (after it is accepted in mainline of course) and replace everything since the creation of the eventfs code. That is, stable releases may need to add all the patches that are in fs/tracefs to make that happen. The reason being is that this rewrite likely fixed a lot of hidden bugs and I honestly believe it's more stable than the code that currently exists. Note, there's more clean ups that can happen. One being cleaning up the eventfs_inode structure. But that's not critical now and can be added later. This made it through one round of my testing. I'm going to run it again but with the part of testing that also runs some tests on each patch in the series to make sure it doesn't break bisection. In Linus's first version, patch 5 broke some of the tests but was fixed in patch 6. I swapped the order and moved patch 6 before patch 5 and it appears to work. I still need to run this through all my testing again. Version 1 is at: https://lore.kernel.org/linux-trace-kernel/20240130190355.11486-1-torvalds@xxxxxxxxxxxxxxxxxxxx/ Linus Torvalds (6): eventfs: Initialize the tracefs inode properly tracefs: Avoid using the ei->dentry pointer unnecessarily tracefs: dentry lookup crapectomy eventfs: Remove unused 'd_parent' pointer field eventfs: Clean up dentry ops and add revalidate function eventfs: Get rid of dentry pointers without refcounts Steven Rostedt (Google) (1): tracefs: Zero out the tracefs_inode when allocating it ---- fs/tracefs/event_inode.c | 551 ++++++++++++----------------------------------- fs/tracefs/inode.c | 102 ++------- fs/tracefs/internal.h | 18 +- 3 files changed, 167 insertions(+), 504 deletions(-)