Hi,
This patch series teaches KUnit to handle kthread faults as errors, and it brings a few related fixes and improvements.
Shuah, everything should be OK now, could you please merge this series?
All these tests pass (on top of v6.8): ./tools/testing/kunit/kunit.py run --alltests ./tools/testing/kunit/kunit.py run --alltests --arch x86_64 ./tools/testing/kunit/kunit.py run --alltests --arch arm64 \ --cross_compile=aarch64-linux-gnu-
I also built and ran KUnit tests as a kernel module.
A new test case check NULL pointer dereference, which wasn't possible before.
This is useful to test current kernel self-protection mechanisms or future ones such as Heki: https://github.com/heki-linux
Previous versions: v3: https://lore.kernel.org/r/20240319104857.70783-1-mic@digikod.net v2: https://lore.kernel.org/r/20240301194037.532117-1-mic@digikod.net v1: https://lore.kernel.org/r/20240229170409.365386-1-mic@digikod.net
Regards,
Mickaël Salaün (7): kunit: Handle thread creation error kunit: Fix kthread reference kunit: Fix timeout message kunit: Handle test faults kunit: Fix KUNIT_SUCCESS() calls in iov_iter tests kunit: Print last test location on fault kunit: Add tests for fault
include/kunit/test.h | 24 ++++++++++++++++++--- include/kunit/try-catch.h | 3 --- kernel/kthread.c | 1 + lib/kunit/kunit-test.c | 45 ++++++++++++++++++++++++++++++++++++++- lib/kunit/try-catch.c | 38 ++++++++++++++++++++++----------- lib/kunit_iov_iter.c | 18 ++++++++-------- 6 files changed, 101 insertions(+), 28 deletions(-)
base-commit: e8f897f4afef0031fe618a8e94127a0934896aba