Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1535009pxb; Mon, 22 Feb 2021 04:43:20 -0800 (PST) X-Google-Smtp-Source: ABdhPJwlMweKjhQERlkz8PlLBhAy9W2+8eXU13EOcZuqshysFxNGXkNcCGrSpEkwvEzH/0NGFdCL X-Received: by 2002:a17:906:a106:: with SMTP id t6mr21147308ejy.63.1613997800409; Mon, 22 Feb 2021 04:43:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613997800; cv=none; d=google.com; s=arc-20160816; b=0D2Kj5TYaoqfNLps5ul6hkVfFzTJaSGCJylohcIIBBiRgta20cJkvEk/HP9Onp9OKZ fK8BkEgZ3HH7bTGu3iibqhsoORQatWjE8FWNdJSEsAabpHYvyPs6ploymDtvCWtUEvuu HTil4BiZfZdfUtUFgSo92b8nmvjduZNhUYHPgxP/E3DEFt0xSfadfi3jesjl+xDv/QJU JZw+r79jWYhTVX98YSTYWg8WOMQjxHkUjtbZXtj7WsZ5JFwCMeaYoahjBwDI/BNCL6Fg F9GK/iIoi3hMvXJZhcMYv9RS7t+pZKFRREGguB4+cY6jwe7ni8LOggVf+F44tfYyuSSh +CZQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=01UjE9cykTNSDBVU1uhvg040n6lc1faMe1mdAvQYK8g=; b=A9uJK3NAzC4PpIJnsOEPhCQ4bXuqnroXEJyAaQjAiOKbeelmBeXhYEOWlUAeOc01qP 3dhZ0NruSj5BN59yEn0SFqj7CNLFlqLR2CmM0hmZqxZkUyCsHrTjVPNcuou/puLFmS4S TqxKYT1L5pcCwTVQrDBs/VcLqah0pYKCnHrfuZzC9Pb4QEcB84CfVvlYXqiDF44vzB7k 7T1TrcXQbI55LWZgZHsqoBru9eYkmdpco6NpdIfGfIw0E2UZewsdzfokyHQvO+hRvLr+ /65hE4OgUC9+tuwUK30sOYZWbJHcyWq9FSHEhZCAx6jRBkOXEKx8fF2hPHlUC6QdLDJ9 w9FQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=tn6USY6e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b8si10367864ejq.235.2021.02.22.04.42.57; Mon, 22 Feb 2021 04:43:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=tn6USY6e; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231349AbhBVMl6 (ORCPT + 99 others); Mon, 22 Feb 2021 07:41:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:44746 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230497AbhBVMRO (ORCPT ); Mon, 22 Feb 2021 07:17:14 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 170AA64E05; Mon, 22 Feb 2021 12:16:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1613996218; bh=YBqvqgp6PAHx6W9ojsyrbRpMv8DrvI2KfiN7xQINXmA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tn6USY6epx9gJCD6DmnTkGjMzV94B2AWU71R2YXbVgbOCHZHRfqppBFB43OPz5SwA GLPIGuSRUxKq8n6+TxNaV2Y94G/PtEPvevxAM+0fL0UVT55kZPtaEoHI9d2LYzdFPf GB+FymwVy7k/W0ktb3mJAkaxYr0V4GdqBo5TDDXg= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Eric W. Biederman" , Miklos Szeredi , Sasha Levin Subject: [PATCH 4.19 06/50] ovl: perform vfs_getxattr() with mounter creds Date: Mon, 22 Feb 2021 13:12:57 +0100 Message-Id: <20210222121021.596049067@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210222121019.925481519@linuxfoundation.org> References: <20210222121019.925481519@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Miklos Szeredi [ Upstream commit 554677b97257b0b69378bd74e521edb7e94769ff ] The vfs_getxattr() in ovl_xattr_set() is used to check whether an xattr exist on a lower layer file that is to be removed. If the xattr does not exist, then no need to copy up the file. This call of vfs_getxattr() wasn't wrapped in credential override, and this is probably okay. But for consitency wrap this instance as well. Reported-by: "Eric W. Biederman" Signed-off-by: Miklos Szeredi Signed-off-by: Sasha Levin --- fs/overlayfs/inode.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c index 8b3c284ce92ea..08e60a6df77c3 100644 --- a/fs/overlayfs/inode.c +++ b/fs/overlayfs/inode.c @@ -340,7 +340,9 @@ int ovl_xattr_set(struct dentry *dentry, struct inode *inode, const char *name, goto out; if (!value && !upperdentry) { + old_cred = ovl_override_creds(dentry->d_sb); err = vfs_getxattr(realdentry, name, NULL, 0); + revert_creds(old_cred); if (err < 0) goto out_drop_write; } -- 2.27.0