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

Zorro Lang <[email protected]>
Newsgroups org.kernel.vger.linux-btrfs,org.kernel.vger.fstests
Message-ID <alx6ksEGK_-FhFVM@zlang-mailbox>
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) {

Makes sense to me,

Reviewed-by: Zorro Lang <[email protected]>

>  			errno = 0; /* Don't report misleading errno. */
>  			return false;
>  		} else {
> -- 
> 2.51.2
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.