tracefs: Fix inode allocation
authorMathias Krause <minipli@grsecurity.net>
Wed, 7 Aug 2024 11:51:38 +0000 (13:51 +0200)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Wed, 7 Aug 2024 22:49:06 +0000 (18:49 -0400)
The leading comment above alloc_inode_sb() is pretty explicit about it:

  /*
   * This must be used for allocating filesystems specific inodes to set
   * up the inode reclaim context correctly.
   */

Switch tracefs over to alloc_inode_sb() to make sure inodes are properly
linked.

Cc: Ajay Kaher <ajay.kaher@broadcom.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/20240807115143.45927-2-minipli@grsecurity.net
Fixes: ba37ff75e04b ("eventfs: Implement tracefs_inode_cache")
Signed-off-by: Mathias Krause <minipli@grsecurity.net>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
fs/tracefs/inode.c

index 1028ab6d9a744b7dde0195b9c5e090b6e8ea2adc..21a7e51fc3c182cea39e6b4eed1fefde3c052828 100644 (file)
@@ -42,7 +42,7 @@ static struct inode *tracefs_alloc_inode(struct super_block *sb)
        struct tracefs_inode *ti;
        unsigned long flags;
 
-       ti = kmem_cache_alloc(tracefs_inode_cachep, GFP_KERNEL);
+       ti = alloc_inode_sb(sb, tracefs_inode_cachep, GFP_KERNEL);
        if (!ti)
                return NULL;