On Sun, Aug 23, 2026 at 12:35:33PM +0000, Bill Wendling wrote: > Add a custom KUnit test suite 'stacktrace_counted_by' to verify that the > __counted_by_ptr annotation on the 'entries' field of 'struct stack_trace' > behaves correctly.
The implementation of __counted_by_ptr should be tested by a dedicated unittest for that feature. And I am fairly sure that already exists. It should not be tested in random subsystems. > The test verifies that 'max_entries' correctly limits and validates access > to 'entries' when CONFIG_ARCH_STACKWALK is not defined. If it is defined, > the test is cleanly skipped at runtime to prevent compile-time or runtime > failures due to 'struct stack_trace' being undefined on modern > architectures. > > Assisted-by: Gemini Next > Signed-off-by: Bill Wendling <[email protected]> > --- > Cc: Kees Cook <[email protected]> > Cc: "Gustavo A. R. Silva" <[email protected]> > Cc: Andrew Morton <[email protected]> > Cc: Brendan Higgins <[email protected]> > Cc: David Gow <[email protected]> > Cc: Rae Moar <[email protected]> > Cc: Ryota Sakamoto <[email protected]> > Cc: Kuan-Wei Chiu <[email protected]> > Cc: Pasha Tatashin <[email protected]> > Cc: Dmitry Antipov <[email protected]> > Cc: Petr Mladek <[email protected]> > Cc: Kir Chou <[email protected]> > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > Cc: [email protected] > --- > lib/Kconfig.debug | 10 +++++++ > lib/kunit/.kunitconfig | 1 + > lib/tests/Makefile | 1 + > lib/tests/stacktrace_kunit.c | 51 ++++++++++++++++++++++++++++++++++++ > 4 files changed, 63 insertions(+) > create mode 100644 lib/tests/stacktrace_kunit.c (...) > diff --git a/lib/tests/stacktrace_kunit.c b/lib/tests/stacktrace_kunit.c > new file mode 100644 > index 000000000000..7ec48edf84fe > --- /dev/null > +++ b/lib/tests/stacktrace_kunit.c > @@ -0,0 +1,51 @@ (...) > +} > +#else > +static void test_stack_trace_counted_by(struct kunit *test) > +{ > + kunit_skip(test, "CONFIG_ARCH_STACKWALK is enabled, struct stack_trace > is not defined"); If the test requires a specific kconfig symbol, then depend on it in kconfig. Putting all of the code behind a single, giant ifdef is pointless. > +} > +#endif (...)

