Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp281926pxb; Thu, 21 Jan 2021 07:04:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJz3rDYxr2VrEWozYa01OgY8oEcH0m0n+deMnXUadhUQCz84+bc4KiEszMig4Cj8/dFbdacf X-Received: by 2002:a17:906:c40e:: with SMTP id u14mr9438772ejz.547.1611241452965; Thu, 21 Jan 2021 07:04:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1611241452; cv=none; d=google.com; s=arc-20160816; b=LClh4FsYTDg8vD/okI5DSh2rH9/u+Cu0wLlWz0L2jQQq0uF2KSasJiT9Jk5BjLuK+V YsDFn9J3zBiBbHdKR4Ewrr8RA6PakWs1r8Xs6SS/CQoGNe2I3wW7eFUbnrEK7czePxMv q6xHcSWYbC48mDujnI9oJ5SmXbvSMZA35Q11fYIRGGLMJ6rfT7D6wu4Ea+y5TRgvr0UF UIbtr3skjsedm2dLV+KXY4XDRVhqc8fmHKaJyL6/Gk8PVQmfxk6VrHV9m/oPLLhGaM7z IvcpX6MlYB/nD2PzKK9vzo6jnzzLj9j7ZmVPkA6cUFMdBnD27wuq4ZfzH7MVyFfUsNhE BMTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=AZCtlLK+rVzccv44ZqR9/rPh76yBNb5ivC/AheNLCdw=; b=HosrKXPMY3mrwar73c7Y6gihUePg3eAAtSqb40PTcEYOMstT5njHWVWAO6UsxGwFkZ 0Q4LL/dP8+Gs2hAQuGUTuLqMubPjk+wG7Cir0GIYkCgOhTMWxo1oxqerKZImFE8Jfm2N 54LU9WmcOyISKbhZC0glf/I2oK+FXZrHaE0/MrUhdNJlfpZpUxM94JVq2kKPf4HrDFBF JsdrOiEmIgQA+qK1vDw5plTzVn4ZSSP6BxiVk6A+XRR3JA2puL0XyrycvB4neUvv2rrE m+D3QSY+kEu6O4tS5auURowvfW1j43rJqgb4IOxJsz9v9YRPyhxZFJPGAQepFErrTVPv Sl4g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d4si1837235ejb.594.2021.01.21.07.03.41; Thu, 21 Jan 2021 07:04:12 -0800 (PST) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728764AbhAUN2E (ORCPT + 99 others); Thu, 21 Jan 2021 08:28:04 -0500 Received: from youngberry.canonical.com ([91.189.89.112]:54757 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730332AbhAUN1u (ORCPT ); Thu, 21 Jan 2021 08:27:50 -0500 Received: from ip5f5af0a0.dynamic.kabel-deutschland.de ([95.90.240.160] helo=wittgenstein.fritz.box) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1l2Zuf-0005g7-IE; Thu, 21 Jan 2021 13:22:13 +0000 From: Christian Brauner To: Alexander Viro , Christoph Hellwig , linux-fsdevel@vger.kernel.org Cc: John Johansen , James Morris , Mimi Zohar , Dmitry Kasatkin , Stephen Smalley , Casey Schaufler , Arnd Bergmann , Andreas Dilger , OGAWA Hirofumi , Geoffrey Thomas , Mrunal Patel , Josh Triplett , Andy Lutomirski , Theodore Tso , Alban Crequy , Tycho Andersen , David Howells , James Bottomley , Seth Forshee , =?UTF-8?q?St=C3=A9phane=20Graber?= , Linus Torvalds , Aleksa Sarai , Lennart Poettering , "Eric W. Biederman" , smbarber@chromium.org, Phil Estes , Serge Hallyn , Kees Cook , Todd Kjos , Paul Moore , Jonathan Corbet , containers@lists.linux-foundation.org, linux-security-module@vger.kernel.org, linux-api@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, linux-integrity@vger.kernel.org, selinux@vger.kernel.org, Christian Brauner Subject: [PATCH v6 27/40] ecryptfs: do not mount on top of idmapped mounts Date: Thu, 21 Jan 2021 14:19:46 +0100 Message-Id: <20210121131959.646623-28-christian.brauner@ubuntu.com> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210121131959.646623-1-christian.brauner@ubuntu.com> References: <20210121131959.646623-1-christian.brauner@ubuntu.com> MIME-Version: 1.0 X-Patch-Hashes: v=1; h=sha256; i=ghv/kMxBjWVz72L+xFuQBh/xSmPaVl07FCNHzoGv4Rk=; m=NFmehRD0KNcILFBxE6aGR1OjIupR+5WFeLoiP5ShJC4=; p=y+aaA7asfnKesPwKpXtBf+Gzv/rdSr5LpwUc8kyT8VY=; g=c814c6483a8755fc91bca27ebabaa2b2beaaec75 X-Patch-Sig: m=pgp; i=christian.brauner@ubuntu.com; s=0x0x91C61BC06578DCA2; b=iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCYAl9pgAKCRCRxhvAZXjcosHXAQC9eu2 YlnUeZViKQgWoqQtKdNJ5+dgu/eVlDpuwEWnwqwD9Eh8WEYpaxdL1+PELrTM+92+OxqtiAKKXSCAU ul1tOw4= Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Prevent ecryptfs from being mounted on top of idmapped mounts. Stacking filesystems need to be prevented from being mounted on top of idmapped mounts until they have have been converted to handle this. Link: https://lore.kernel.org/r/20210112220124.837960-39-christian.brauner@ubuntu.com Cc: Christoph Hellwig Cc: David Howells Cc: Al Viro Cc: linux-fsdevel@vger.kernel.org Signed-off-by: Christian Brauner --- /* v2 */ patch introduced /* v3 */ - David Howells : - Adapt check after removing mnt_idmapped() helper. /* v4 */ unchanged /* v5 */ unchanged base-commit: 7c53f6b671f4aba70ff15e1b05148b10d58c2837 /* v6 */ unchanged base-commit: 19c329f6808995b142b3966301f217c831e7cf31 --- fs/ecryptfs/main.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/ecryptfs/main.c b/fs/ecryptfs/main.c index e63259fdef28..cdf40a54a35d 100644 --- a/fs/ecryptfs/main.c +++ b/fs/ecryptfs/main.c @@ -531,6 +531,12 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags goto out_free; } + if (mnt_user_ns(path.mnt) != &init_user_ns) { + rc = -EINVAL; + printk(KERN_ERR "Mounting on idmapped mounts currently disallowed\n"); + goto out_free; + } + if (check_ruid && !uid_eq(d_inode(path.dentry)->i_uid, current_uid())) { rc = -EPERM; printk(KERN_ERR "Mount of device (uid: %d) not owned by " -- 2.30.0