All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: "Mickaël Salaün" <mic@digikod.net>
To: Christian Brauner <brauner@kernel.org>,
	Jakub Kicinski <kuba@kernel.org>,
	Kees Cook <keescook@chromium.org>,
	Mark Brown <broonie@kernel.org>,
	Shengyu Li <shengyu.li.evgeny@gmail.com>,
	Shuah Khan <shuah@kernel.org>
Cc: "Mickaël Salaün" <mic@digikod.net>,
	"David S . Miller" <davem@davemloft.net>,
	"Günther Noack" <gnoack@google.com>,
	"Will Drewry" <wad@chromium.org>,
	"kernel test robot" <oliver.sang@intel.com>,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	"Shuah Khan" <skhan@linuxfoundation.org>
Subject: [PATCH v3 2/9] selftests/landlock: Fix FS tests when run on a private mount point
Date: Mon, 29 Apr 2024 21:19:04 +0200	[thread overview]
Message-ID: <20240429191911.2552580-3-mic@digikod.net> (raw)
In-Reply-To: <20240429191911.2552580-1-mic@digikod.net>

According to the test environment, the mount point of the test's working
directory may be shared or not, which changes the visibility of the
nested "tmp" mount point for the test's parent process calling
umount("tmp").

This was spotted while running tests in containers [1], where mount
points are private.

Cc: Günther Noack <gnoack@google.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Link: https://github.com/landlock-lsm/landlock-test-tools/pull/4 [1]
Fixes: 41cca0542d7c ("selftests/harness: Fix TEST_F()'s vfork handling")
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Link: https://lore.kernel.org/r/20240429191911.2552580-3-mic@digikod.net
---

Changes since v1:
* Update commit description.
---
 tools/testing/selftests/landlock/fs_test.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/landlock/fs_test.c b/tools/testing/selftests/landlock/fs_test.c
index 9a6036fbf289..46b9effd53e4 100644
--- a/tools/testing/selftests/landlock/fs_test.c
+++ b/tools/testing/selftests/landlock/fs_test.c
@@ -293,7 +293,15 @@ static void prepare_layout(struct __test_metadata *const _metadata)
 static void cleanup_layout(struct __test_metadata *const _metadata)
 {
 	set_cap(_metadata, CAP_SYS_ADMIN);
-	EXPECT_EQ(0, umount(TMP_DIR));
+	if (umount(TMP_DIR)) {
+		/*
+		 * According to the test environment, the mount point of the
+		 * current directory may be shared or not, which changes the
+		 * visibility of the nested TMP_DIR mount point for the test's
+		 * parent process doing this cleanup.
+		 */
+		ASSERT_EQ(EINVAL, errno);
+	}
 	clear_cap(_metadata, CAP_SYS_ADMIN);
 	EXPECT_EQ(0, remove_path(TMP_DIR));
 }
-- 
2.44.0


  parent reply	other threads:[~2024-04-29 19:19 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-29 19:19 [PATCH v3 0/9] Fix Kselftest's vfork() side effects Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 1/9] selftests/pidfd: Fix config for pidfd_setns_test Mickaël Salaün
2024-05-02 14:10   ` Christian Brauner
2024-04-29 19:19 ` Mickaël Salaün [this message]
2024-04-29 19:19 ` [PATCH v3 3/9] selftests/harness: Fix fixture teardown Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 4/9] selftests/harness: Fix interleaved scheduling leading to race conditions Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 5/9] selftests/landlock: Do not allocate memory in fixture data Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 6/9] selftests/harness: Constify fixture variants Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 7/9] selftests/pidfd: Fix wrong expectation Mickaël Salaün
2024-05-02 14:12   ` Christian Brauner
2024-04-29 19:19 ` [PATCH v3 8/9] selftests/harness: Share _metadata between forked processes Mickaël Salaün
2024-04-29 19:19 ` [PATCH v3 9/9] selftests/harness: Fix vfork() side effects Mickaël Salaün
2024-04-30 13:54 ` [PATCH v3 0/9] Fix Kselftest's " Mickaël Salaün
2024-04-30 15:13   ` Jakub Kicinski
2024-04-30 16:38     ` Mickaël Salaün
2024-04-30 16:50       ` Kees Cook

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=20240429191911.2552580-3-mic@digikod.net \
    --to=mic@digikod.net \
    --cc=brauner@kernel.org \
    --cc=broonie@kernel.org \
    --cc=davem@davemloft.net \
    --cc=gnoack@google.com \
    --cc=keescook@chromium.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=oliver.sang@intel.com \
    --cc=shengyu.li.evgeny@gmail.com \
    --cc=shuah@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=wad@chromium.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.