Skip to content

Commit 74ce208

Browse files
committed
proc: block mounting on top of /proc/<pid>/fd/*
Entries under /proc/<pid>/fd/* 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-5-fb04e1d09f0c@kernel.org Reviewed-by: Josef Bacik <josef@toxicpanda.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
1 parent 3836b31 commit 74ce208

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

fs/proc/fd.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,8 @@ static struct dentry *proc_fd_instantiate(struct dentry *dentry,
220220
ei->op.proc_get_link = proc_fd_link;
221221
tid_fd_update_inode(task, inode, data->mode);
222222

223-
d_set_d_op(dentry, &tid_fd_dentry_operations);
224-
return d_splice_alias(inode, dentry);
223+
return proc_splice_unmountable(inode, dentry,
224+
&tid_fd_dentry_operations);
225225
}
226226

227227
static struct dentry *proc_lookupfd_common(struct inode *dir,

0 commit comments

Comments
 (0)