The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused
@ 2026-07-06 17:52 David Matlack
  2026-07-06 17:55 ` David Matlack
  2026-07-06 18:06 ` Kuniyuki Iwashima
  0 siblings, 2 replies; 3+ messages in thread
From: David Matlack @ 2026-07-06 17:52 UTC (permalink / raw)
  To: linux-kernel, linux-kselftest, llvm
  Cc: Andy Lutomirski, Bill Wendling, Justin Stitt, Kees Cook,
	Mickaël Salaün, Nathan Chancellor, Nick Desaulniers,
	Shuah Khan, Will Drewry, David Matlack, Kuniyuki Iwashima,
	Aaron Lewis

Mark global test fixture object pointers __maybe_unused since they may
not ever be read (e.g. if fixture variants are used instead).

clang made a change to -Wunused-but-set-variable (split out into its own
subwarning, -Wunused-but-set-global) that causes this warning to be
emitted for various selftests and can be upgraded to an error in
selftest that set -Werror.

VFIO selftests have been broken since commit ff556bd98348 ("vfio:
selftests: Add -Wall and -Werror to the Makefile"), and the net
selftests builds have been noisy due to -Wall.

Fixes: 24cf65a62266 ("selftests/harness: Share _metadata between forked processes")
Reported-by: Kuniyuki Iwashima <kuniyu@google.com>
Reported-by: Aaron Lewis <aaronlewis@google.com>
Signed-off-by: David Matlack <dmatlack@google.com>
---
v2:
 - Update commit message about the change to clang (Nathan)
 - Correct the Fixes: tag (Nathan)

v1: https://lore.kernel.org/linux-kselftest/20260630213341.1664345-1-dmatlack@google.com/

Note: The fixes tag is commit 24cf65a62266 ("selftests/harness: Share
_metadata between forked processes"), which refactored TEST_F to share
test metadata across processes using mmap and convereted the test
fixture object from a static struct to a static pointer. Prior to commit
24cf65a62266 the static struct was always used once (the address of it
was taken and passed to __register_test()), but after the static pointer
was always assigned but potentially never read.

Cc: Nathan Chancellor <nathan@kernel.org>

 tools/testing/selftests/kselftest_harness.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kselftest_harness.h b/tools/testing/selftests/kselftest_harness.h
index 261e4df94d9d..29a19bc87084 100644
--- a/tools/testing/selftests/kselftest_harness.h
+++ b/tools/testing/selftests/kselftest_harness.h
@@ -467,7 +467,7 @@ static inline void __kselftest_memset_safe(void *s, int c, size_t n)
 				!__atomic_test_and_set(_metadata->no_teardown, __ATOMIC_RELAXED)) \
 			fixture_name##_teardown(_metadata, self, variant); \
 	} \
-	static struct __test_metadata *_##fixture_name##_##test_name##_object; \
+	static struct __test_metadata *_##fixture_name##_##test_name##_object __maybe_unused; \
 	static void __attribute__((constructor(KSELFTEST_PRIO_TEST))) \
 			_register_##fixture_name##_##test_name(void) \
 	{ \

base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
-- 
2.55.0.rc2.803.g1fd1e6609c-goog


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused
  2026-07-06 17:52 [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused David Matlack
@ 2026-07-06 17:55 ` David Matlack
  2026-07-06 18:06 ` Kuniyuki Iwashima
  1 sibling, 0 replies; 3+ messages in thread
From: David Matlack @ 2026-07-06 17:55 UTC (permalink / raw)
  To: linux-kernel, linux-kselftest, llvm
  Cc: Andy Lutomirski, Bill Wendling, Justin Stitt, Kees Cook,
	Mickaël Salaün, Nathan Chancellor, Nick Desaulniers,
	Shuah Khan, Will Drewry, Kuniyuki Iwashima, Aaron Lewis,
	Alex Williamson

On Mon, Jul 6, 2026 at 10:52 AM David Matlack <dmatlack@google.com> wrote:
>
> Mark global test fixture object pointers __maybe_unused since they may
> not ever be read (e.g. if fixture variants are used instead).
>
> clang made a change to -Wunused-but-set-variable (split out into its own
> subwarning, -Wunused-but-set-global) that causes this warning to be
> emitted for various selftests and can be upgraded to an error in
> selftest that set -Werror.
>
> VFIO selftests have been broken since commit ff556bd98348 ("vfio:
> selftests: Add -Wall and -Werror to the Makefile"), and the net
> selftests builds have been noisy due to -Wall.
>
> Fixes: 24cf65a62266 ("selftests/harness: Share _metadata between forked processes")
> Reported-by: Kuniyuki Iwashima <kuniyu@google.com>
> Reported-by: Aaron Lewis <aaronlewis@google.com>
> Signed-off-by: David Matlack <dmatlack@google.com>

Sorry I forgot to apply Alex's Reviewed-by tag from v1:

   https://lore.kernel.org/linux-kselftest/20260630165244.0d013bbc@shazbot.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused
  2026-07-06 17:52 [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused David Matlack
  2026-07-06 17:55 ` David Matlack
@ 2026-07-06 18:06 ` Kuniyuki Iwashima
  1 sibling, 0 replies; 3+ messages in thread
From: Kuniyuki Iwashima @ 2026-07-06 18:06 UTC (permalink / raw)
  To: David Matlack, Shuah Khan
  Cc: linux-kernel, linux-kselftest, llvm, Andy Lutomirski,
	Bill Wendling, Justin Stitt, Kees Cook, Mickaël Salaün,
	Nathan Chancellor, Nick Desaulniers, Will Drewry, Aaron Lewis

On Mon, Jul 6, 2026 at 10:52 AM David Matlack <dmatlack@google.com> wrote:
>
> Mark global test fixture object pointers __maybe_unused since they may
> not ever be read (e.g. if fixture variants are used instead).

Not very accurate; using fixtures w/ XFAIL_ADD() does not trigger
the warning.

>
> clang made a change to -Wunused-but-set-variable (split out into its own
> subwarning, -Wunused-but-set-global) that causes this warning to be
> emitted for various selftests and can be upgraded to an error in
> selftest that set -Werror.
>
> VFIO selftests have been broken since commit ff556bd98348 ("vfio:
> selftests: Add -Wall and -Werror to the Makefile"), and the net
> selftests builds have been noisy due to -Wall.
>
> Fixes: 24cf65a62266 ("selftests/harness: Share _metadata between forked processes")
> Reported-by: Kuniyuki Iwashima <kuniyu@google.com>
> Reported-by: Aaron Lewis <aaronlewis@google.com>
> Signed-off-by: David Matlack <dmatlack@google.com>

Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>

Not sure why Shuah didn't pick my patch though :/
https://lore.kernel.org/all/20260530054722.271157-1-kuniyu@google.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-06 18:07 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-06 17:52 [PATCH v2] selftests: harness: Mark test fixture objects __maybe_unused David Matlack
2026-07-06 17:55 ` David Matlack
2026-07-06 18:06 ` Kuniyuki Iwashima

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox