From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D813C411A03; Fri, 2 Oct 2026 22:37:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790980653; cv=none; b=fKTxcLboOolJ5SSG1oum7WOOMJymvN9tebZ5E/tanoOz7NyrMQ95/s4Ai6nYu5la9rrIvXLF1WnaNPP0zbHgjo6huCVlXVJMlO3G+f/SkSvunP5wgOdk2QcRjVhGGPOql/L5FBxaDPXml3flfNQgXf1ONCEKTwoVQ4BCM/YdCzE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790980653; c=relaxed/simple; bh=NciHHsUwbDFuZeKCsrcMzZSUKpPt3AZax3aBo18/9+A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IPNj5u5h5LECqb+0DeVc7kHuUKBxoZf2XeTjIUKWDGTXQS969qEixwMIBgBSsfap0ZZoSB5UHmtKai+Vu9O+/UDKAaSEqidw8XQsrp2c0ggleLtXAADQjcfVloRZ3xWVy0xHvIiWy49Auk+PjQs8ELQq0UX6d5ivrfWr8dmB09M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OEaM6Ilz; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OEaM6Ilz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6BD9B1F00893; Fri, 2 Oct 2026 22:37:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790980650; bh=nbiOvvmh3uAAd1oxFar1z2uB37LIOE/Lgee7w9bmdyU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OEaM6Ilz8wEalxqxW4RlHAB/L8XqhWxXwEAxiLKewJye9vhz5bG+NATN/YFaN5IpG yWsJAsptz9sUEUCYWCpUvgSJyEXHuXjnQ9ah/20SZrURo1SaJuFs3v2hu8wsutEO/S 4qFI9rmeepYpgaNmgiWkOycA6MV0gYVLvDqaXxEJUiaqeG84urAmcDKNvZADtd0Mir KmX/NDZb7fb9kZWSUSB+ur62k9cJoU7WpqrWoznu+G2ckxLdbJVeOE1eQTXdy47iWi /14VMESV2btPQkm434A6y+yiecauQvW6oOEVKs3ZwWmCKYgw0ILP4IcHHthrtH16Bs no80OKQWBoXEQ== From: Andrey Albershteyn To: djwong@kernel.org, ebiggers@kernel.org, hch@lst.de, Carlos Maiolino Cc: Andrey Albershteyn , fsverity@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-unionfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-btrfs@vger.kernel.org, david@fromorbit.com Subject: [PATCH v17 05/21] fsverity: don't allow setting DAX file attribute on fsverity files Date: Sat, 3 Oct 2026 00:36:46 +0200 Message-ID: <20261002223705.2175542-6-aalbersh@kernel.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20261002223705.2175542-1-aalbersh@kernel.org> References: <20261002223705.2175542-1-aalbersh@kernel.org> Precedence: bulk X-Mailing-List: fsverity@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When fsverity is enabled on the file, with FS_IOC_ENABLE_VERITY ioctl(), it checks if file has DAX enabled and fails if that's true. However, the opposite case is not checked. Note, that the only other filesystem supporting DAX and fsverity is ext4, and ext4 does check for this case. Signed-off-by: Andrey Albershteyn Reviewed-by: Christoph Hellwig Reviewed-by: "Darrick J. Wong" Reviewed-by: Eric Biggers --- fs/file_attr.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/file_attr.c b/fs/file_attr.c index bfb00d256dd5..391edd1d0ce3 100644 --- a/fs/file_attr.c +++ b/fs/file_attr.c @@ -235,10 +235,15 @@ static int fileattr_set_prepare(struct inode *inode, /* * It is only valid to set the DAX flag on regular files and * directories on filesystems. + * + * DAX and fsverity are incompatible. */ - if ((fa->fsx_xflags & FS_XFLAG_DAX) && - !(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) - return -EINVAL; + if (fa->fsx_xflags & FS_XFLAG_DAX) { + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return -EINVAL; + if (old_ma->fsx_xflags & FS_XFLAG_VERITY) + return -EINVAL; + } /* Extent size hints of zero turn off the flags. */ if (fa->fsx_extsize == 0) -- 2.54.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.sourceforge.net (lists.sourceforge.net [216.105.38.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C9E2FCA5FE6 for ; Fri, 2 Oct 2026 22:37:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type:Cc: Reply-To:From:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Subject:MIME-Version:References:In-Reply-To: Message-ID:Date:To:Sender:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=YkSeZhTLUbwWwA46RQR7XD4lVLqJU78YCnuZFT2l+sc=; b=RL39O1EYWM6pX1MqY2dzSqpPVh uIk+3LqFlYsJWFO++D+PFcd4JLHh3lMexqBuxtCR5jlEv69M8nhuW2cTzPJKnU/jQhV+8hhVlEbfq /ZGVl/C4MyVUSje+jD2jOb8uVP4o+Z20AAXjDHwI/awLrA4naEK6xJpJljeCKtrJHIVQ=; Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1xClsn-0003as-EF; Fri, 02 Oct 2026 22:37:38 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1xClsl-0003ai-F9 for linux-f2fs-devel@lists.sourceforge.net; Fri, 02 Oct 2026 22:37:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=nbiOvvmh3uAAd1oxFar1z2uB37LIOE/Lgee7w9bmdyU=; b=lyNao7haS8zQCiHlhZCZPc/AHb c/Srpg/8zkj8794cVBUmV+ngIG0qcuJQpWRs/MFMNG5WZEnjx0VmsDvt4rMYdQgiWYf2j4P8zQq7m TKsG6VyaySiWNpioWFVnUl9g25C88wGUnn2FPmgRLoAU045nyOxd78jQfYBK/uND5j3E=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=nbiOvvmh3uAAd1oxFar1z2uB37LIOE/Lgee7w9bmdyU=; b=DpKPr4dL/HqWY9Zrnn8HH0qM24 6hqIDpKTvVMF8K2PwgDe6Tv1RaRf/Zshb+Cq48+HTrZP3iI57r6O2tKvjv0isuQJu+7UfwAzDzOOO ghwRjYmwbQSoLufuc1M5CVebLut7RaJ4XKULkvw7zPfzIVH65YV13qPq6qF27Lqd81gk=; Received: from sea.source.kernel.org ([172.234.252.31]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1xClsl-0003iV-R1 for linux-f2fs-devel@lists.sourceforge.net; Fri, 02 Oct 2026 22:37:36 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 8794A43C2E; Fri, 2 Oct 2026 22:37:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6BD9B1F00893; Fri, 2 Oct 2026 22:37:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790980650; bh=nbiOvvmh3uAAd1oxFar1z2uB37LIOE/Lgee7w9bmdyU=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=OEaM6Ilz8wEalxqxW4RlHAB/L8XqhWxXwEAxiLKewJye9vhz5bG+NATN/YFaN5IpG yWsJAsptz9sUEUCYWCpUvgSJyEXHuXjnQ9ah/20SZrURo1SaJuFs3v2hu8wsutEO/S 4qFI9rmeepYpgaNmgiWkOycA6MV0gYVLvDqaXxEJUiaqeG84urAmcDKNvZADtd0Mir KmX/NDZb7fb9kZWSUSB+ur62k9cJoU7WpqrWoznu+G2ckxLdbJVeOE1eQTXdy47iWi /14VMESV2btPQkm434A6y+yiecauQvW6oOEVKs3ZwWmCKYgw0ILP4IcHHthrtH16Bs no80OKQWBoXEQ== To: djwong@kernel.org, ebiggers@kernel.org, hch@lst.de, Carlos Maiolino Date: Sat, 3 Oct 2026 00:36:46 +0200 Message-ID: <20261002223705.2175542-6-aalbersh@kernel.org> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20261002223705.2175542-1-aalbersh@kernel.org> References: <20261002223705.2175542-1-aalbersh@kernel.org> MIME-Version: 1.0 X-Headers-End: 1xClsl-0003iV-R1 Subject: [f2fs-dev] [PATCH v17 05/21] fsverity: don't allow setting DAX file attribute on fsverity files X-BeenThere: linux-f2fs-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Andrey Albershteyn via Linux-f2fs-devel Reply-To: Andrey Albershteyn Cc: fsverity@lists.linux.dev, Andrey Albershteyn , david@fromorbit.com, linux-unionfs@vger.kernel.org, linux-f2fs-devel@lists.sourceforge.net, linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net When fsverity is enabled on the file, with FS_IOC_ENABLE_VERITY ioctl(), it checks if file has DAX enabled and fails if that's true. However, the opposite case is not checked. Note, that the only other filesystem supporting DAX and fsverity is ext4, and ext4 does check for this case. Signed-off-by: Andrey Albershteyn Reviewed-by: Christoph Hellwig Reviewed-by: "Darrick J. Wong" Reviewed-by: Eric Biggers --- fs/file_attr.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/fs/file_attr.c b/fs/file_attr.c index bfb00d256dd5..391edd1d0ce3 100644 --- a/fs/file_attr.c +++ b/fs/file_attr.c @@ -235,10 +235,15 @@ static int fileattr_set_prepare(struct inode *inode, /* * It is only valid to set the DAX flag on regular files and * directories on filesystems. + * + * DAX and fsverity are incompatible. */ - if ((fa->fsx_xflags & FS_XFLAG_DAX) && - !(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) - return -EINVAL; + if (fa->fsx_xflags & FS_XFLAG_DAX) { + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode))) + return -EINVAL; + if (old_ma->fsx_xflags & FS_XFLAG_VERITY) + return -EINVAL; + } /* Extent size hints of zero turn off the flags. */ if (fa->fsx_extsize == 0) -- 2.54.0 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel