* [PATCH] selftests: harness: Mark test fixture objects __maybe_unused
@ 2026-06-30 21:33 David Matlack
2026-06-30 22:52 ` Alex Williamson
0 siblings, 1 reply; 3+ messages in thread
From: David Matlack @ 2026-06-30 21:33 UTC (permalink / raw)
To: linux-kernel, linux-kselftest, llvm
Cc: Alex Williamson, Andy Lutomirski, Bill Wendling, David Matlack,
Justin Stitt, Kees Cook, Nathan Chancellor, Nick Desaulniers,
Raghavendra Rao Ananta, Shuah Khan, Vipin Sharma, Will Drewry,
Aaron Lewis
Mark test fixture objects __maybe_unused since they will not be used
when there are fixture variants (the variants will be used instead).
This fixes the VFIO selftest build with clang and -Werror:
vfio_dma_mapping_mmio_test.c:106:1: error: variable '_vfio_dma_mapping_mmio_test_map_full_bar_object' set but not used [-Werror,-Wunused-but-set-global]
106 | TEST_F(vfio_dma_mapping_mmio_test, map_full_bar)
| ^
./../kselftest_harness.h:398:2: note: expanded from macro 'TEST_F'
398 | __TEST_F_IMPL(fixture_name, test_name, -1, TEST_TIMEOUT_DEFAULT)
| ^
./../kselftest_harness.h:470:33: note: expanded from macro '__TEST_F_IMPL'
470 | static struct __test_metadata *_##fixture_name##_##test_name##_object; \
|
Fixes: ff556bd98348 ("vfio: selftests: Add -Wall and -Werror to the Makefile")
Reported-by: Aaron Lewis <aaronlewis@google.com>
Signed-off-by: David Matlack <dmatlack@google.com>
---
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.rc0.799.gd6f94ed593-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests: harness: Mark test fixture objects __maybe_unused
2026-06-30 21:33 [PATCH] selftests: harness: Mark test fixture objects __maybe_unused David Matlack
@ 2026-06-30 22:52 ` Alex Williamson
2026-07-01 2:49 ` Nathan Chancellor
0 siblings, 1 reply; 3+ messages in thread
From: Alex Williamson @ 2026-06-30 22:52 UTC (permalink / raw)
To: David Matlack, Kees Cook, Shuah Khan
Cc: alex, linux-kernel, linux-kselftest, llvm, Andy Lutomirski,
Bill Wendling, Justin Stitt, Nathan Chancellor, Nick Desaulniers,
Raghavendra Rao Ananta, Vipin Sharma, Will Drewry, Aaron Lewis
On Tue, 30 Jun 2026 21:33:41 +0000
David Matlack <dmatlack@google.com> wrote:
> Mark test fixture objects __maybe_unused since they will not be used
> when there are fixture variants (the variants will be used instead).
>
> This fixes the VFIO selftest build with clang and -Werror:
>
> vfio_dma_mapping_mmio_test.c:106:1: error: variable '_vfio_dma_mapping_mmio_test_map_full_bar_object' set but not used [-Werror,-Wunused-but-set-global]
> 106 | TEST_F(vfio_dma_mapping_mmio_test, map_full_bar)
> | ^
> ./../kselftest_harness.h:398:2: note: expanded from macro 'TEST_F'
> 398 | __TEST_F_IMPL(fixture_name, test_name, -1, TEST_TIMEOUT_DEFAULT)
> | ^
> ./../kselftest_harness.h:470:33: note: expanded from macro '__TEST_F_IMPL'
> 470 | static struct __test_metadata *_##fixture_name##_##test_name##_object; \
> |
>
> Fixes: ff556bd98348 ("vfio: selftests: Add -Wall and -Werror to the Makefile")
> Reported-by: Aaron Lewis <aaronlewis@google.com>
> Signed-off-by: David Matlack <dmatlack@google.com>
> ---
> 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
Reviewed-by: Alex Williamson <alex@shazbot.org>
Kees/Shuah, I can take this through the vfio tree if you prefer, it
fixes a commit that entered through vfio selftests. Thanks,
Alex
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] selftests: harness: Mark test fixture objects __maybe_unused
2026-06-30 22:52 ` Alex Williamson
@ 2026-07-01 2:49 ` Nathan Chancellor
0 siblings, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2026-07-01 2:49 UTC (permalink / raw)
To: Alex Williamson
Cc: David Matlack, Kees Cook, Shuah Khan, linux-kernel,
linux-kselftest, llvm, Andy Lutomirski, Bill Wendling,
Justin Stitt, Nick Desaulniers, Raghavendra Rao Ananta,
Vipin Sharma, Will Drewry, Aaron Lewis
On Tue, Jun 30, 2026 at 04:52:44PM -0600, Alex Williamson wrote:
> On Tue, 30 Jun 2026 21:33:41 +0000
> David Matlack <dmatlack@google.com> wrote:
>
> > Mark test fixture objects __maybe_unused since they will not be used
> > when there are fixture variants (the variants will be used instead).
> >
> > This fixes the VFIO selftest build with clang and -Werror:
> >
> > vfio_dma_mapping_mmio_test.c:106:1: error: variable '_vfio_dma_mapping_mmio_test_map_full_bar_object' set but not used [-Werror,-Wunused-but-set-global]
> > 106 | TEST_F(vfio_dma_mapping_mmio_test, map_full_bar)
> > | ^
> > ./../kselftest_harness.h:398:2: note: expanded from macro 'TEST_F'
> > 398 | __TEST_F_IMPL(fixture_name, test_name, -1, TEST_TIMEOUT_DEFAULT)
> > | ^
> > ./../kselftest_harness.h:470:33: note: expanded from macro '__TEST_F_IMPL'
> > 470 | static struct __test_metadata *_##fixture_name##_##test_name##_object; \
> > |
> >
> > Fixes: ff556bd98348 ("vfio: selftests: Add -Wall and -Werror to the Makefile")
> > Reported-by: Aaron Lewis <aaronlewis@google.com>
> > Signed-off-by: David Matlack <dmatlack@google.com>
> > ---
> > 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
>
> Reviewed-by: Alex Williamson <alex@shazbot.org>
>
> Kees/Shuah, I can take this through the vfio tree if you prefer, it
> fixes a commit that entered through vfio selftests. Thanks,
Not that it is a big deal or matters all too much but I do not think
this fixes tag is entirely accurate. The blamed commit may have
introduced the build warning/error in the VFIO code but that same
warning could occur in any selftest code, as evidenced by the exact same
patch submitted a month ago:
https://lore.kernel.org/20260530054722.271157-1-kuniyu@google.com/
clang made a change to -Wunused-but-set-variable (split out into its own
subwarning, -Wunused-but-set-global) that exposes this. Personally, I
find that change explains the problem better but this one makes it clear
that it can become fatal with -Werror.
--
Cheers,
Nathan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-07-01 2:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-30 21:33 [PATCH] selftests: harness: Mark test fixture objects __maybe_unused David Matlack
2026-06-30 22:52 ` Alex Williamson
2026-07-01 2:49 ` Nathan Chancellor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox