From: Eric Biggers <ebiggers@kernel.org>
To: Andrey Albershteyn <aalbersh@kernel.org>
Cc: linux-xfs@vger.kernel.org, fsverity@lists.linux.dev,
linux-fsdevel@vger.kernel.org, hch@lst.de,
linux-ext4@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-btrfs@vger.kernel.org, djwong@kernel.org
Subject: Re: [PATCH v13 06/23] fsverity: don't allow setting DAX file attribute on fsverity files
Date: Fri, 24 Jul 2026 16:55:28 -0700 [thread overview]
Message-ID: <20260724235528.GD1901@sol> (raw)
In-Reply-To: <20260721184346.416657-7-aalbersh@kernel.org>
On Tue, Jul 21, 2026 at 08:40:43PM +0200, Andrey Albershteyn wrote:
> 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.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> ---
> fs/file_attr.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/fs/file_attr.c b/fs/file_attr.c
> index bfb00d256dd5..5424ec4e3949 100644
> --- a/fs/file_attr.c
> +++ b/fs/file_attr.c
> @@ -246,6 +246,11 @@ static int fileattr_set_prepare(struct inode *inode,
> if (fa->fsx_cowextsize == 0)
> fa->fsx_xflags &= ~FS_XFLAG_COWEXTSIZE;
>
> + /* Can not enable DAX on fsverity file */
> + if ((old_ma->fsx_xflags & FS_XFLAG_VERITY) &&
> + fa->fsx_xflags & FS_XFLAG_DAX)
> + return -EINVAL;
> +
As mentioned elsewhere, this is actually already checked in ext4, and
the commit message should mention this.
Also, I notice this function already checks conditions on when the DAX
flag can be enabled:
/*
* It is only valid to set the DAX flag on regular files and
* directories on filesystems.
*/
if ((fa->fsx_xflags & FS_XFLAG_DAX) &&
!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)))
return -EINVAL;
Could we combine those into something like the following so the DAX
enablement conditions are in one place?
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;
}
- Eric
WARNING: multiple messages have this Message-ID (diff)
From: Eric Biggers via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: Andrey Albershteyn <aalbersh@kernel.org>
Cc: fsverity@lists.linux.dev, djwong@kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-ext4@vger.kernel.org, hch@lst.de,
linux-btrfs@vger.kernel.org
Subject: Re: [f2fs-dev] [PATCH v13 06/23] fsverity: don't allow setting DAX file attribute on fsverity files
Date: Fri, 24 Jul 2026 16:55:28 -0700 [thread overview]
Message-ID: <20260724235528.GD1901@sol> (raw)
In-Reply-To: <20260721184346.416657-7-aalbersh@kernel.org>
On Tue, Jul 21, 2026 at 08:40:43PM +0200, Andrey Albershteyn wrote:
> 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.
>
> Signed-off-by: Andrey Albershteyn <aalbersh@kernel.org>
> ---
> fs/file_attr.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/fs/file_attr.c b/fs/file_attr.c
> index bfb00d256dd5..5424ec4e3949 100644
> --- a/fs/file_attr.c
> +++ b/fs/file_attr.c
> @@ -246,6 +246,11 @@ static int fileattr_set_prepare(struct inode *inode,
> if (fa->fsx_cowextsize == 0)
> fa->fsx_xflags &= ~FS_XFLAG_COWEXTSIZE;
>
> + /* Can not enable DAX on fsverity file */
> + if ((old_ma->fsx_xflags & FS_XFLAG_VERITY) &&
> + fa->fsx_xflags & FS_XFLAG_DAX)
> + return -EINVAL;
> +
As mentioned elsewhere, this is actually already checked in ext4, and
the commit message should mention this.
Also, I notice this function already checks conditions on when the DAX
flag can be enabled:
/*
* It is only valid to set the DAX flag on regular files and
* directories on filesystems.
*/
if ((fa->fsx_xflags & FS_XFLAG_DAX) &&
!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode)))
return -EINVAL;
Could we combine those into something like the following so the DAX
enablement conditions are in one place?
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;
}
- Eric
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2026-07-24 23:57 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-21 18:40 [PATCH v13 00/23] fs-verity support for XFS with post EOF merkle tree Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 01/23] fsverity: report validation errors through fserror to fsnotify Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 02/23] fsverity: expose ensure_fsverity_info() Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 23:37 ` Eric Biggers via Linux-f2fs-devel
2026-07-24 23:37 ` Eric Biggers
2026-07-21 18:40 ` [PATCH v13 03/23] fsverity: pass digest size and hash of the all-zeroes block to ->write Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 04/23] fsverity: hoist pagecache_read from f2fs/ext4 to fsverity Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 05/23] fsverity: improve flushing performance of fsverity_fill_zerohash Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:13 ` Christoph Hellwig
2026-07-24 13:13 ` [f2fs-dev] " Christoph Hellwig
2026-07-21 18:40 ` [PATCH v13 06/23] fsverity: don't allow setting DAX file attribute on fsverity files Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:13 ` Christoph Hellwig
2026-07-24 13:13 ` [f2fs-dev] " Christoph Hellwig
2026-07-24 14:19 ` Eric Biggers
2026-07-24 14:19 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-07-24 23:55 ` Eric Biggers [this message]
2026-07-24 23:55 ` Eric Biggers via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 07/23] fs,fsverity: remove check for fsverity being enabled in setattr_prepare() Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] [PATCH v13 07/23] fs, fsverity: " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:14 ` [PATCH v13 07/23] fs,fsverity: " Christoph Hellwig
2026-07-24 13:14 ` [f2fs-dev] [PATCH v13 07/23] fs, fsverity: " Christoph Hellwig
2026-07-24 23:25 ` [PATCH v13 07/23] fs,fsverity: " Eric Biggers
2026-07-24 23:25 ` [f2fs-dev] [PATCH v13 07/23] fs, fsverity: " Eric Biggers via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 08/23] fsverity: hoist statx reporting of fs-verity flag Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 23:43 ` Eric Biggers
2026-07-24 23:43 ` [f2fs-dev] " Eric Biggers via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 09/23] xfs: introduce fsverity on-disk changes Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 10/23] xfs: don't allow to enable DAX on fs-verity sealed inode Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 11/23] xfs: disable direct read path for fs-verity files Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:16 ` Christoph Hellwig
2026-07-24 13:16 ` [f2fs-dev] " Christoph Hellwig
2026-07-21 18:40 ` [PATCH v13 12/23] xfs: don't report dio_mem_align and dio_offset_align for fsverity files Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 13/23] xfs: handle fsverity I/O in write/read path Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 14/23] xfs: always prioritize fsverity metadata ioends in ioend completion Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 15/23] xfs: use read ioend for fsverity data verification Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 16/23] xfs: add fs-verity support Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:17 ` Christoph Hellwig
2026-07-24 13:17 ` [f2fs-dev] " Christoph Hellwig
2026-07-21 18:40 ` [PATCH v13 17/23] xfs: remove unwritten extents after preallocations in fsverity metadata Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-24 13:20 ` Christoph Hellwig
2026-07-24 13:20 ` [f2fs-dev] " Christoph Hellwig
2026-07-21 18:40 ` [PATCH v13 18/23] xfs: initialize fs-verity on file open Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 19/23] xfs: add fs-verity ioctls Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 20/23] xfs: advertise fs-verity being available on filesystem Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 21/23] xfs: check and repair the verity inode flag state Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:40 ` [PATCH v13 22/23] xfs: introduce health state for corrupted fsverity metadata Andrey Albershteyn
2026-07-21 18:40 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
2026-07-21 18:41 ` [PATCH v13 23/23] xfs: enable ro-compat fs-verity flag Andrey Albershteyn
2026-07-21 18:41 ` [f2fs-dev] " Andrey Albershteyn via Linux-f2fs-devel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260724235528.GD1901@sol \
--to=ebiggers@kernel.org \
--cc=aalbersh@kernel.org \
--cc=djwong@kernel.org \
--cc=fsverity@lists.linux.dev \
--cc=hch@lst.de \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.