From patchwork Sat Dec 8 06:51:44 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chandan Rajendra X-Patchwork-Id: 1009747 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.infradead.org (client-ip=2607:7c80:54:e::133; helo=bombadil.infradead.org; envelope-from=linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.vnet.ibm.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="clAhcQ8O"; dkim-atps=neutral Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:e::133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43Bg6m1YDcz9s8F for ; Sat, 8 Dec 2018 17:54:08 +1100 (AEDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Message-Id:MIME-Version:References: In-Reply-To:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=cR/zeblhHP9F0Nhw15nAyRDne+xLmxzRwxddRCYKiXM=; b=clAhcQ8O2ksscG yvKl6FzkMRKkUXdi54ov4kOJXj3r/H5Au2fDQNpXYEM9DTAyAIEH6dSBeinkf+k7uwMJNuZV+WWL2 nKr8GrbPsAn38SnfWz/6RLcp8wTp5/ms/EQIOEczqUlJQHbAzx9KAGiS2qSzfx4jkp35yxTU8vLSB PFdO0ClIanEHmRPYbcfdHY8A1v8jZXzO/YHCAFKnKyrFg1PT9Pal27qi5r/OyFf8+weWR+rjvjO+V kWrG+po99ffUaG5ocUmUTG9DPuouDCeeVDlCOxfgXgcQNLPF71UZFfxapRD9JoO7uUP7VH3bY2KG2 FIkgP2fl+S2HwvsFKT+A==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gVWV2-0002xA-Tq; Sat, 08 Dec 2018 06:54:04 +0000 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5] helo=mx0a-001b2d01.pphosted.com) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gVWUg-0002cT-6H for linux-mtd@lists.infradead.org; Sat, 08 Dec 2018 06:54:03 +0000 Received: from pps.filterd (m0098413.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wB86mNjd020799 for ; Sat, 8 Dec 2018 01:53:31 -0500 Received: from e17.ny.us.ibm.com (e17.ny.us.ibm.com [129.33.205.207]) by mx0b-001b2d01.pphosted.com with ESMTP id 2p8909851p-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 08 Dec 2018 01:53:31 -0500 Received: from localhost by e17.ny.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 8 Dec 2018 06:53:30 -0000 Received: from b01cxnp23032.gho.pok.ibm.com (9.57.198.27) by e17.ny.us.ibm.com (146.89.104.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Sat, 8 Dec 2018 06:53:24 -0000 Received: from b01ledav006.gho.pok.ibm.com (b01ledav006.gho.pok.ibm.com [9.57.199.111]) by b01cxnp23032.gho.pok.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id wB86rMjB20447432 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sat, 8 Dec 2018 06:53:22 GMT Received: from b01ledav006.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8AC7BAC05B; Sat, 8 Dec 2018 06:53:22 +0000 (GMT) Received: from b01ledav006.gho.pok.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 77D79AC059; Sat, 8 Dec 2018 06:53:14 +0000 (GMT) Received: from localhost.localdomain.com (unknown [9.85.72.40]) by b01ledav006.gho.pok.ibm.com (Postfix) with ESMTP; Sat, 8 Dec 2018 06:53:14 +0000 (GMT) From: Chandan Rajendra To: linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-doc@vger.kernel.org, linux-mips@linux-mips.org, linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, linux-fsdevel@vger.kernel.org Subject: [PATCH V3 9/9] fsverity: Move verity status check to fsverity_prepare_setattr Date: Sat, 8 Dec 2018 12:21:44 +0530 X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181208065144.19486-1-chandan@linux.vnet.ibm.com> References: <20181208065144.19486-1-chandan@linux.vnet.ibm.com> MIME-Version: 1.0 X-TM-AS-GCONF: 00 x-cbid: 18120806-0040-0000-0000-0000049F8024 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00010192; HX=3.00000242; KW=3.00000007; PH=3.00000004; SC=3.00000270; SDB=6.01128647; UDB=6.00577119; IPR=6.00908778; MB=3.00024599; MTD=3.00000008; XFM=3.00000015; UTC=2018-12-08 06:53:30 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18120806-0041-0000-0000-000008A89DB2 Message-Id: <20181208065144.19486-10-chandan@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-12-08_02:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1812080065 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181207_225342_788051_D45A2C5D X-CRM114-Status: GOOD ( 19.56 ) X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [148.163.158.5 listed in list.dnswl.org] X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: dedekind1@gmail.com, tytso@mit.edu, corbet@lwn.net, jhogan@kernel.org, yuchao0@huawei.com, heiko.carstens@de.ibm.com, adrian.hunter@intel.com, ralf@linux-mips.org, ebiggers@kernel.org, paul.burton@mips.com, Chandan Rajendra , adilger.kernel@dilger.ca, green.hu@gmail.com, richard@nod.at, schwidefsky@de.ibm.com, jaegeuk@kernel.org, deanbo422@gmail.com, viro@zeniv.linux.org.uk Sender: "linux-mtd" Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Instead of conditionally checking for verity status of an inode before invoking fsverity_prepare_setattr(), this commit moves the check inside the definition of fsverity_prepare_setattr(). Signed-off-by: Chandan Rajendra --- fs/ext4/inode.c | 8 +++----- fs/f2fs/file.c | 8 +++----- fs/verity/setup.c | 2 +- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 703f55635824..44561e68886b 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5510,11 +5510,9 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr) if (error) return error; - if (IS_VERITY(inode)) { - error = fsverity_prepare_setattr(dentry, attr); - if (error) - return error; - } + error = fsverity_prepare_setattr(dentry, attr); + if (error) + return error; if (is_quota_modification(inode, attr)) { error = dquot_initialize(inode); diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 925c0d9608da..422907ca37c6 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -798,11 +798,9 @@ int f2fs_setattr(struct dentry *dentry, struct iattr *attr) if (err) return err; - if (IS_VERITY(inode)) { - err = fsverity_prepare_setattr(dentry, attr); - if (err) - return err; - } + err = fsverity_prepare_setattr(dentry, attr); + if (err) + return err; if (is_quota_modification(inode, attr)) { err = dquot_initialize(inode); diff --git a/fs/verity/setup.c b/fs/verity/setup.c index bc463dc601b1..154556d72691 100644 --- a/fs/verity/setup.c +++ b/fs/verity/setup.c @@ -796,7 +796,7 @@ EXPORT_SYMBOL_GPL(fsverity_file_open); */ int fsverity_prepare_setattr(struct dentry *dentry, struct iattr *attr) { - if (attr->ia_valid & ATTR_SIZE) { + if (IS_VERITY(d_inode(dentry)) && (attr->ia_valid & ATTR_SIZE)) { pr_debug("Denying truncate of verity file (ino %lu)\n", d_inode(dentry)->i_ino); return -EPERM;