[SRU][N][PATCH 4/6] proc: block mounting on top of /proc/<pid>/map_files/*
Yufeng Gao
yufeng.gao at canonical.com
Wed May 27 00:40:55 UTC 2026
From: Christian Brauner <brauner at kernel.org>
BugLink: https://bugs.launchpad.net/bugs/2137199
Entries under /proc/<pid>/map_files/* are ephemeral and may go away
before the process dies. As such allowing them to be used as mount
points creates the ability to leak mounts that linger until the process
dies with no ability to unmount them until then. Don't allow using them
as mountpoints.
Link: https://lore.kernel.org/r/20240806-work-procfs-v1-4-fb04e1d09f0c@kernel.org
Reviewed-by: Josef Bacik <josef at toxicpanda.com>
Signed-off-by: Christian Brauner <brauner at kernel.org>
(cherry picked from commit 3836b31c3e717fcaa2b63c69e4bcf8ff7b82e6e4)
Signed-off-by: Yufeng Gao <yufeng.gao at canonical.com>
---
fs/proc/base.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/proc/base.c b/fs/proc/base.c
index a2419ae15ef9..7f56ee1502b5 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2341,8 +2341,8 @@ proc_map_files_instantiate(struct dentry *dentry,
inode->i_op = &proc_map_files_link_inode_operations;
inode->i_size = 64;
- d_set_d_op(dentry, &tid_map_files_dentry_operations);
- return d_splice_alias(inode, dentry);
+ return proc_splice_unmountable(inode, dentry,
+ &tid_map_files_dentry_operations);
}
static struct dentry *proc_map_files_lookup(struct inode *dir,
--
2.43.0
More information about the kernel-team
mailing list