On Fri, Sep 04, 2026 at 10:13:11AM +0200, Christian Brauner wrote: > On Tue, Sep 01, 2026 at 06:40:50PM -0700, Shakeel Butt wrote: > > kernfs_test only checked two xattr calls. It did not touch the part of > > kernfs that userspace hits most: the dentry cache. > > > > The kernel adds and removes kernfs nodes on its own, with no VFS call > > behind it, and removal cannot always unhash the dentries that are > > already cached. So ->d_revalidate() is what keeps the cache honest, > > let's add tests for it. > > > > Add tests that make the kernel change kernfs directly, instead of going > > through create and unlink: > > > > - writing cgroup.subtree_control makes the kernel add and remove files > > in every child cgroup. That checks two things: a cached negative > > dentry is dropped once the file appears, and a cached positive one > > is dropped once the file goes away. > > - renaming a network interface renames the sysfs node under a dentry > > that is already cached. > > - sysfs mounted in a new network namespace must list that namespace's > > interfaces and not the parent's, which covers the KERNFS_NS tagging > > code. > > - many lookups running against concurrent mkdir and rmdir. A lookup > > may only succeed or fail with an errno that means "it is gone". > > - open across removal, readdir returning each entry once, and a > > telldir()/seekdir() round trip, which uses the name hash cookie in > > kernfs_dir_pos(). > > > > Test the other direction too: walking dentries that are already cached > > must not drop them. That is not just a slowdown. d_invalidate() calls > > detach_mounts(), so a dentry dropped by mistake also unmounts whatever > > is mounted under that directory. > > > > Both filesystems are needed. cgroup2 has no ->rename and is not > > namespace tagged. sysfs cannot be mounted with a set of children we > > control. The config fragment stops a kernel built with kselftest-merge > > from passing while it runs almost nothing. > > > > To confirm the tests really catch a broken backstop, kernfs_dir_changed() > > was stubbed to return false. 8 of the 11 tests then failed. > > > > Signed-off-by: Shakeel Butt <[email protected]> > > --- > > I have to say I would appreciate trimmed-down commit messages with less > relative clauses. This reads very LLMy still. Especially for tests my > appetite for wading through multiple paragraphs of info is very low. > Same goes for the very wordy changelog below...
My appologies, I will be more precise and concise in future. I assume the kernfs bug fixes [1] will also go to your vfs branch. I will send a v2 of that series with appropriate tags and will try to improve the commit messages as well. I have a followup improvements for kernfs_rwsem which I will base on vfs branch. Just wanted to give a headsup. Thanks a lot, Christian. [1] https://lore.kernel.org/all/[email protected]/

