Re: [PATCH] fstests: vfstest: skip rejected tmpfile creation

Christoph Hellwig <[email protected]> Mon, 20 Jul 2026 01:10:54 -0700
Newsgroups org.kernel.vger.linux-unionfs,org.kernel.vger.fstests,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-fsdevel
Message-ID <[email protected]>
Christian indicated the fixes for this are in the (somewhat confusingly
titled) "[PATCH 0/2] Support overlayfs in the idmapped mount tests"
series.

It would be good to get a proper review for this as it's beyond my
pay grade.

On Fri, Jul 17, 2026 at 04:37:17PM +0930, Qu Wenruo wrote:
> Since kernel commit 539dce114465 ("fs: refuse O_TMPFILE creation with an
> unmapped fsuid or fsgid"), tmpfile creation can be rejected with
> EOVERFLOW, so also skip that error number to avoid false alerts like the
> following:
> 
>  FSTYP         -- ext4
>  PLATFORM      -- Linux/x86_64 btrfs-vm 7.2.0-rc3-custom+ #411 SMP PREEMPT_DYNAMIC Fri Jul 17 16:24:34 ACST 2026
>  MKFS_OPTIONS  -- -F /dev/mapper/test-scratch1
>  MOUNT_OPTIONS -- -o acl,user_xattr /dev/mapper/test-scratch1 /mnt/scratch
> 
>  generic/633  1s ... - output mismatch (see /home/adam/xfstests/results//generic/633.out.bad)
>     --- tests/generic/633.out	2022-05-11 11:25:30.816666664 +0930
>     +++ /home/adam/xfstests/results//generic/633.out.bad	2026-07-17 16:25:45.033967541 +0930
>     @@ -1,2 +1,4 @@
>      QA output created by 633
>      Silence is golden
>     +utils.c: 948: openat_tmpfile_supported - Value too large for defined data type - failure: create
>     +utils.c: 948: openat_tmpfile_supported - Value too large for defined data type - failure: create
>     ...
>     (Run 'diff -u /home/adam/xfstests/tests/generic/633.out /home/adam/xfstests/results//generic/633.out.bad'  to see the entire diff)
>  Ran: generic/633
>  Failures: generic/633
>  Failed 1 of 1 tests
> 
> Signed-off-by: Qu Wenruo <[email protected]>
> ---
>  src/vfs/utils.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/src/vfs/utils.c b/src/vfs/utils.c
> index 0b435afe..d2922cc3 100644
> --- a/src/vfs/utils.c
> +++ b/src/vfs/utils.c
> @@ -941,7 +941,11 @@ bool openat_tmpfile_supported(int dirfd)
>  
>  	fd = openat(dirfd, ".", O_TMPFILE | O_RDWR, S_IXGRP | S_ISGID);
>  	if (fd == -1) {
> -		if (errno == ENOTSUP) {
> +		/*
> +		 * Kernel commit 539dce114465 ("fs: refuse O_TMPFILE creation
> +		 * with an unmapped fsuid or fsgid") will reject such operation.
> +		 */
> +		if (errno == ENOTSUP || errno == EOVERFLOW) {
>  			errno = 0; /* Don't report misleading errno. */
>  			return false;
>  		} else {
> -- 
> 2.51.2
> 
> 
---end quoted text---