Re: [PATCH] fs,fsverity: remove check for fsverity being enabled in setattr_prepare()

Eric Biggers <[email protected]> Tue, 28 Jul 2026 21:27:10 -0700
Newsgroups dev.linux.lists.fsverity,org.kernel.vger.linux-fsdevel,org.kernel.vger.stable
Message-ID <20260729042710.GB1705@sol>
[+Cc [email protected]]

On Mon, Jul 27, 2026 at 11:43:52AM +0200, Andrey Albershteyn wrote:
> The check that fs-verity is available in the kernel is not necessary
> here. Filesystems could have fsverity files even without fs-verity
> enabled. In that case, truncate on fsverity file will succeed, what this
> check is trying to prevent.
> 
> Fixes: e9734653c523 ("fs,fsverity: reject size changes on fsverity files in setattr_prepare")
> Cc: [email protected]
> Signed-off-by: Andrey Albershteyn <[email protected]>
> Acked-by: Eric Biggers <[email protected]>
> Reviewed-by: Christoph Hellwig <[email protected]>
> ---
> 
> Notes:
>     I rephrased commit messages a bit to be more clear.
> 
>  fs/attr.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/attr.c b/fs/attr.c
> index 4f437fabb7f0..71888ac903c2 100644
> --- a/fs/attr.c
> +++ b/fs/attr.c
> @@ -176,7 +176,7 @@ int setattr_prepare(struct mnt_idmap *idmap, struct dentry *dentry,
>  		 * covered by the open-time check because sys_truncate() takes a
>  		 * path, not an open file.
>  		 */
> -		if (IS_ENABLED(CONFIG_FS_VERITY) && IS_VERITY(inode))
> +		if (IS_VERITY(inode))
>  			return -EPERM;
>  
>  		error = inode_newsize_ok(inode, attr->ia_size);
> -- 
> 2.54.0

Applied to https://git.kernel.org/pub/scm/fs/fsverity/linux.git/log/?h=for-current

- Eric