From: Luis Henriques <lhenriques@suse.de>
To: Christian Brauner <brauner@kernel.org>
Cc: Zorro Lang <zlang@kernel.org>,
linux-ext4@vger.kernel.org, fstests@vger.kernel.org
Subject: Re: [PATCH] vfs: fix check for tmpfile support
Date: Thu, 22 Feb 2024 14:05:20 +0000 [thread overview]
Message-ID: <87cysoh9wf.fsf@suse.de> (raw)
In-Reply-To: <20240222-mango-batterie-505564cecb69@brauner> (Christian Brauner's message of "Thu, 22 Feb 2024 14:23:06 +0100")
Christian Brauner <brauner@kernel.org> writes:
> When ext4 is used with quota support the test fails with EINVAL because
> it is run after we idmapped the mount. If the caller's fs{g,u}ids aren't
> mapped then we fail and log a misleading error. Move the checks for
> tmpfile support right at the beginning of the test in all tests.
>
> Reported-by: Luis Henriques <lhenriques@suse.de>
> Link: https://lore.kernel.org/r/20240222-knast-reifen-953312ce17a9@brauner
> Signed-off-by: Christian Brauner <brauner@kernel.org>
FWIW I've just tested this patch and I can confirm it fixes the failures I
was seeing in ext4. Again, thanks a lot, Christian.
Cheers,
--
Luís
> ---
> src/vfs/idmapped-mounts.c | 24 ++++++++++++------------
> 1 file changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/src/vfs/idmapped-mounts.c b/src/vfs/idmapped-mounts.c
> index 547182fe..e490f3d7 100644
> --- a/src/vfs/idmapped-mounts.c
> +++ b/src/vfs/idmapped-mounts.c
> @@ -3815,6 +3815,8 @@ int tcore_setgid_create_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -3838,8 +3840,6 @@ int tcore_setgid_create_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> pid = fork();
> if (pid < 0) {
> log_stderr("failure: fork");
> @@ -3991,6 +3991,8 @@ int tcore_setgid_create_idmapped_in_userns(const struct vfstest_info *info)
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -4014,8 +4016,6 @@ int tcore_setgid_create_idmapped_in_userns(const struct vfstest_info *info)
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> pid = fork();
> if (pid < 0) {
> log_stderr("failure: fork");
> @@ -7715,6 +7715,8 @@ static int setgid_create_umask_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -7738,8 +7740,6 @@ static int setgid_create_umask_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> pid = fork();
> if (pid < 0) {
> log_stderr("failure: fork");
> @@ -7929,6 +7929,8 @@ static int setgid_create_umask_idmapped_in_userns(const struct vfstest_info *inf
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -7952,8 +7954,6 @@ static int setgid_create_umask_idmapped_in_userns(const struct vfstest_info *inf
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> /*
> * Below we verify that setgid inheritance for a newly created file or
> * directory works correctly. As part of this we need to verify that
> @@ -8163,6 +8163,8 @@ static int setgid_create_acl_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -8186,8 +8188,6 @@ static int setgid_create_acl_idmapped(const struct vfstest_info *info)
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> pid = fork();
> if (pid < 0) {
> log_stderr("failure: fork");
> @@ -8518,6 +8518,8 @@ static int setgid_create_acl_idmapped_in_userns(const struct vfstest_info *info)
> goto out;
> }
>
> + supported = openat_tmpfile_supported(info->t_dir1_fd);
> +
> /* Changing mount properties on a detached mount. */
> attr.userns_fd = get_userns_fd(0, 10000, 10000);
> if (attr.userns_fd < 0) {
> @@ -8541,8 +8543,6 @@ static int setgid_create_acl_idmapped_in_userns(const struct vfstest_info *info)
> goto out;
> }
>
> - supported = openat_tmpfile_supported(open_tree_fd);
> -
> /*
> * Below we verify that setgid inheritance for a newly created file or
> * directory works correctly. As part of this we need to verify that
> --
>
> 2.43.0
>
next prev parent reply other threads:[~2024-02-22 14:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-21 18:20 fstest generic/696 failure on ext4 fs with quotas+idmap Luis Henriques
2024-02-22 13:23 ` [PATCH] vfs: fix check for tmpfile support Christian Brauner
2024-02-22 14:05 ` Luis Henriques [this message]
2024-02-25 15:56 ` Zorro Lang
2024-02-26 8:56 ` Luis Henriques
2024-02-22 13:26 ` fstest generic/696 failure on ext4 fs with quotas+idmap Christian Brauner
2024-02-22 13:53 ` Luis Henriques
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=87cysoh9wf.fsf@suse.de \
--to=lhenriques@suse.de \
--cc=brauner@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-ext4@vger.kernel.org \
--cc=zlang@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.