public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Miklos Szeredi <mszeredi@redhat.com>,
	Christian Brauner <brauner@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	shuah@kernel.org, amer.shanawany@gmail.com, josef@toxicpanda.com,
	usama.anjum@collabora.com, jack@suse.cz,
	linux-kselftest@vger.kernel.org
Subject: [PATCH AUTOSEL 6.13 21/21] selftests: always check mask returned by statmount(2)
Date: Mon, 10 Feb 2025 20:29:54 -0500	[thread overview]
Message-ID: <20250211012954.4096433-21-sashal@kernel.org> (raw)
In-Reply-To: <20250211012954.4096433-1-sashal@kernel.org>

From: Miklos Szeredi <mszeredi@redhat.com>

[ Upstream commit 2cc02059fbc79306b53a44b1f1a4444aa3c76598 ]

STATMOUNT_MNT_OPTS can actually be missing if there are no options.  This
is a change of behavior since 75ead69a7173 ("fs: don't let statmount return
empty strings").

The other checks shouldn't actually trigger, but add them for correctness
and for easier debugging if the test fails.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Link: https://lore.kernel.org/r/20250129160641.35485-1-mszeredi@redhat.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 .../filesystems/statmount/statmount_test.c    | 22 ++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/filesystems/statmount/statmount_test.c b/tools/testing/selftests/filesystems/statmount/statmount_test.c
index 8eb6aa606a0d5..46d289611ce86 100644
--- a/tools/testing/selftests/filesystems/statmount/statmount_test.c
+++ b/tools/testing/selftests/filesystems/statmount/statmount_test.c
@@ -383,6 +383,10 @@ static void test_statmount_mnt_point(void)
 		return;
 	}
 
+	if (!(sm->mask & STATMOUNT_MNT_POINT)) {
+		ksft_test_result_fail("missing STATMOUNT_MNT_POINT in mask\n");
+		return;
+	}
 	if (strcmp(sm->str + sm->mnt_point, "/") != 0) {
 		ksft_test_result_fail("unexpected mount point: '%s' != '/'\n",
 				      sm->str + sm->mnt_point);
@@ -408,6 +412,10 @@ static void test_statmount_mnt_root(void)
 				      strerror(errno));
 		return;
 	}
+	if (!(sm->mask & STATMOUNT_MNT_ROOT)) {
+		ksft_test_result_fail("missing STATMOUNT_MNT_ROOT in mask\n");
+		return;
+	}
 	mnt_root = sm->str + sm->mnt_root;
 	last_root = strrchr(mnt_root, '/');
 	if (last_root)
@@ -437,6 +445,10 @@ static void test_statmount_fs_type(void)
 				      strerror(errno));
 		return;
 	}
+	if (!(sm->mask & STATMOUNT_FS_TYPE)) {
+		ksft_test_result_fail("missing STATMOUNT_FS_TYPE in mask\n");
+		return;
+	}
 	fs_type = sm->str + sm->fs_type;
 	for (s = known_fs; s != NULL; s++) {
 		if (strcmp(fs_type, *s) == 0)
@@ -464,6 +476,11 @@ static void test_statmount_mnt_opts(void)
 		return;
 	}
 
+	if (!(sm->mask & STATMOUNT_MNT_BASIC)) {
+		ksft_test_result_fail("missing STATMOUNT_MNT_BASIC in mask\n");
+		return;
+	}
+
 	while (getline(&line, &len, f_mountinfo) != -1) {
 		int i;
 		char *p, *p2;
@@ -514,7 +531,10 @@ static void test_statmount_mnt_opts(void)
 		if (p2)
 			*p2 = '\0';
 
-		statmount_opts = sm->str + sm->mnt_opts;
+		if (sm->mask & STATMOUNT_MNT_OPTS)
+			statmount_opts = sm->str + sm->mnt_opts;
+		else
+			statmount_opts = "";
 		if (strcmp(statmount_opts, p) != 0)
 			ksft_test_result_fail(
 				"unexpected mount options: '%s' != '%s'\n",
-- 
2.39.5


      parent reply	other threads:[~2025-02-11  1:30 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-11  1:29 [PATCH AUTOSEL 6.13 01/21] nvme-fc: go straight to connecting state when initializing Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 02/21] nvme-fc: do not ignore connectivity loss during connecting Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 03/21] hrtimers: Mark is_migration_base() with __always_inline Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 04/21] powercap: call put_device() on an error path in powercap_register_control_type() Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 05/21] btrfs: avoid starting new transaction when cleaning qgroup during subvolume drop Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 06/21] futex: Pass in task to futex_queue() Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 07/21] irqchip/riscv: Ensure ordering of memory writes and IPI writes Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 08/21] iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 09/21] sched/debug: Provide slice length for fair tasks Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 10/21] platform/x86/intel: pmc: fix ltr decode in pmc_core_ltr_show() Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 11/21] drm/amd/display: Fix out-of-bound accesses Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 12/21] scsi: core: Use GFP_NOIO to avoid circular locking dependency Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 13/21] scsi: ufs: core: Fix error return with query response Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 14/21] scsi: qla1280: Fix kernel oops when debug level > 2 Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 15/21] Revert "drm/amd/display: Use HW lock mgr for PSR1" Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 16/21] kbuild: keep symbols for symbol_get() even with CONFIG_TRIM_UNUSED_KSYMS Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 17/21] ACPI: resource: IRQ override for Eluktronics MECH-17 Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 18/21] smb: client: fix noisy when tree connecting to DFS interlink targets Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 19/21] alpha/elf: Fix misc/setarch test of util-linux by removing 32bit support Sasha Levin
2025-02-11  1:29 ` [PATCH AUTOSEL 6.13 20/21] vboxsf: fix building with GCC 15 Sasha Levin
2025-02-11  1:29 ` Sasha Levin [this message]

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=20250211012954.4096433-21-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=amer.shanawany@gmail.com \
    --cc=brauner@kernel.org \
    --cc=jack@suse.cz \
    --cc=josef@toxicpanda.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mszeredi@redhat.com \
    --cc=shuah@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=usama.anjum@collabora.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox