Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 53c39433 authored by Jann Horn's avatar Jann Horn Committed by Min Chong
Browse files

UPSTREAM: proc: prevent stacking filesystems on top



(cherry picked from commit e54ad7f1ee263ffa5a2de9c609d58dfa27b21cd9)

This prevents stacking filesystems (ecryptfs and overlayfs) from using
procfs as lower filesystem.  There is too much magic going on inside
procfs, and there is no good reason to stack stuff on top of procfs.

(For example, procfs does access checks in VFS open handlers, and
ecryptfs by design calls open handlers from a kernel thread that doesn't
drop privileges or so.)

Signed-off-by: default avatarJann Horn <jannh@google.com>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Change-Id: Ib050ef9dc10e623589d22e3a9e6aee9ee4f0cd5d
Bug: 29444228
parent f394c99b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -121,6 +121,13 @@ static struct dentry *proc_mount(struct file_system_type *fs_type,
	if (IS_ERR(sb))
		return ERR_CAST(sb);

	/*
	 * procfs isn't actually a stacking filesystem; however, there is
	 * too much magic going on inside it to permit stacking things on
	 * top of it
	 */
	sb->s_stack_depth = FILESYSTEM_MAX_STACK_DEPTH;

	if (!proc_parse_options(options, ns)) {
		deactivate_locked_super(sb);
		return ERR_PTR(-EINVAL);