]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
nsfs: raise DCACHE_DONTCACHE explicitly
authorChristian Brauner <brauner@kernel.org>
Wed, 29 Oct 2025 12:20:16 +0000 (13:20 +0100)
committerChristian Brauner <brauner@kernel.org>
Fri, 31 Oct 2025 09:16:23 +0000 (10:16 +0100)
While nsfs dentries are never hashed and thus retain_dentry() will never
consider them for placing them on the LRU it isn't great to always have
to go and remember that. Raise DCACHE_DONTCACHE explicitly as a visual
marker that dentries aren't kept but freed immediately instead.

Link: https://patch.msgid.link/20251029-work-namespace-nstree-listns-v4-3-2e6f823ebdc0@kernel.org
Tested-by: syzbot@syzkaller.appspotmail.com
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/nsfs.c

index ded833f66d4d51cc12b63a6254e78c68ee9f3d7d..c1661feaccf0f31ce4ad2495b758adafac2a2b9c 100644 (file)
--- a/fs/nsfs.c
+++ b/fs/nsfs.c
@@ -591,6 +591,7 @@ static int nsfs_init_fs_context(struct fs_context *fc)
        struct pseudo_fs_context *ctx = init_pseudo(fc, NSFS_MAGIC);
        if (!ctx)
                return -ENOMEM;
+       ctx->s_d_flags |= DCACHE_DONTCACHE;
        ctx->ops = &nsfs_ops;
        ctx->eops = &nsfs_export_operations;
        ctx->dops = &ns_dentry_operations;