From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 018BA3644B3 for ; Sat, 25 Jul 2026 08:00:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784966415; cv=none; b=UNsrJ1oLdqeXVIsayxuldStcVzw4zwF8dlgs0yWiGO+sg9AoT0I/6nOHioWteWv3ZYbLZNtoSj/6OpNYBy5bPBn02nlcq9aD/X4tJBpVfw1dCs/F2sgtLeHuDScqnmN5PdZ8TvNU/J2w1z2r8aBPsofYGjZJlhcD5/pD+BSxfjs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784966415; c=relaxed/simple; bh=x0azAcsCMMPMXxXDdBsJkovGUPenS+iAVlLZJGdkobQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=G6bMNvz5TVhbCtasJsnemMiji6oL8GyCvohaDSFlYzZKfzXGJb/S7zsqjp4TckbqKG+sqUoE/8Saed3744HEGFLgD1h1dVT9fMsDwIN7Y6OHzB/bk/ybfG6Q1ryvE1bVvyd6bzW6SNik/dm2EM4tCCwAwb9z2UGta5B3aB/gGx8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=IzO9y6IM; arc=none smtp.client-ip=209.85.160.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IzO9y6IM" Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-51c2a449c57so9965531cf.1 for ; Sat, 25 Jul 2026 01:00:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784966413; x=1785571213; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=aN3F1x7OR5ZXu0ndJb6FFcDobq/hnEMNM/moElJMtpE=; b=IzO9y6IMto5SfJXpoelyqw0Erf1g+5Pb0+cqmCD2rRcQPIVTzVDbvMDo4OwjB2XFPO N93eHsLSFAKgKGUab/FT+H54BkPXbMx/RUScRi1YoTxj6Yrcuwe+2czW8Xv0Cr0s9McG tBpmDMrtl1RnQGKy1rQIdh436Lq9H/VMo81OyzA14+P9GrwVG4akFvvm40e+mILimufZ lEjVwBN63xnKqk+kUhu/PC0jHGkf1wLoWDy3ygSQV0mYkUufFKJt5ZfhNZwhBhZCcd/n QeC5RtHuHcuR9K8836570hdYFrbXqJorqns4EL6lFp0K1VPqPYwAJI2NyYyLXpCDLaDq 1xMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784966413; x=1785571213; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=aN3F1x7OR5ZXu0ndJb6FFcDobq/hnEMNM/moElJMtpE=; b=mNIGDRk3uI1pXrz5yPJi4f9213SPiTOIgCbbUYU8tLeRJttJgkYwNb5qIwBIASIErl uOV+ybKho51UtMrSfwg+B/C7tAjgrRWuwMNtr1YM4cvuTfW+4pE5hERsgVwtDYGP6MUq x/WllZZhdCZI08z5JdWL4BIViMPGZPw/PBuZaSlM/i2qfglPd0sRTaLWYR3MOt84nQgC ZMk7duXhw2VYZ1DO0RkouOaM0/xo/xjIcMo8zwYF9KngRhohvMCUXLH4yOOntXBaIfc2 XVWDy48Y7oJ0AALcQe2j4dwvGjxsMak6uvO0KK+tK703pWj3r4lkFFcEykIYdQ7dCyOm ewdA== X-Forwarded-Encrypted: i=1; AHgh+RrGpXzDI7LSvf8P4KZhejVYh67R/zYxKfN5LkaFASg4rpmLF8cFrYLR5sYQnOk+A4jhuFpLW2iSVk2PG84=@vger.kernel.org X-Gm-Message-State: AOJu0YwYbMIQEyD6ybHizrCDnDGJncjfwic4lsbRLDPCh92p2F4QQbux 1LKSXIJTIEBE+lZENbjZuuwibtt2ZvN4Ri3S4nAhdxvIHe70hRzHa7Qt X-Gm-Gg: AR+sD13mZHyt1z29czpU8QfeXljEJjlbp41mFW0pwwdXgXD/V+8fgX5sIJ55lXwLP3T FM0Tf78nCpYKi4J4yK0w9FrSis1IXzePpO57kpmiLmD65p/xbxG0hk4XsyPCpz8pM8SZ2pXrwCk 9a3YH4jDrLz86trvuGafMhbfuFJbgPlNzy5lgUW7IQJPN+siCGbeQcsIU9Zqx6bD7C9y9oaTd+I SarId3uKTaa+BL10DRdnN2kgN2BPeNw0rqBkDG3KyXsQGe+qZCEMVJ4pPjquAWglGrq2QsMbdm3 dyJcP1nfXX8jpGhQsHapo7qbJingc0tXr8kVhjd1A1x8ESvr/1wjK+wOfeamOkKr6r2VygK1tZB uar+280xTPJXA00Uz1YSxo+0LpBHESJHX3/M8GI24HSax4yKUTIwYJoVnR8Y+YJorIJadJtQn4l HBTtHi5P23lBB3Fr47AQ== X-Received: by 2002:ac8:5a47:0:b0:528:325c:2905 with SMTP id d75a77b69052e-529a8721edamr12780321cf.63.1784966412617; Sat, 25 Jul 2026 01:00:12 -0700 (PDT) Received: from osman.mioffice.cn ([43.224.245.178]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-907e86a1b73sm15788896d6.32.2026.07.25.01.00.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Jul 2026 01:00:11 -0700 (PDT) From: Zhan Xusheng To: Eric Biggers Cc: "Theodore Y. Ts'o" , Jaegeuk Kim , linux-fscrypt@vger.kernel.org, linux-kernel@vger.kernel.org, Zhan Xusheng , stable@vger.kernel.org Subject: [PATCH] fscrypt: use the mount idmap for the owner check in fscrypt_ioctl_set_policy() Date: Sat, 25 Jul 2026 16:00:04 +0800 Message-ID: <20260725080004.929328-1-zhanxusheng1024@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Zhan Xusheng fscrypt_ioctl_set_policy() calls inode_owner_or_capable() with &nop_mnt_idmap before allowing an encryption policy to be set, instead of the idmap of the mount the ioctl was issued on. fscrypt is used by filesystems that support idmapped mounts (e.g. ext4, f2fs), so on such a mount this compares the caller's fsuid against the unmapped on-disk owner rather than the mapped owner: the actual owner can be wrongly denied with -EACCES and an unrelated caller wrongly allowed. Use file_mnt_idmap(filp) instead. Fixes: 01beba7957a2 ("fs: port inode_owner_or_capable() to mnt_idmap") Cc: stable@vger.kernel.org Signed-off-by: Zhan Xusheng --- fs/crypto/policy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/crypto/policy.c b/fs/crypto/policy.c index 9915e39362db..c80b24a941ad 100644 --- a/fs/crypto/policy.c +++ b/fs/crypto/policy.c @@ -534,7 +534,7 @@ int fscrypt_ioctl_set_policy(struct file *filp, const void __user *arg) return -EFAULT; policy.version = version; - if (!inode_owner_or_capable(&nop_mnt_idmap, inode)) + if (!inode_owner_or_capable(file_mnt_idmap(filp), inode)) return -EACCES; ret = mnt_want_write_file(filp); -- 2.43.0