Re: [PATCH v1 8/8] kunit: Add tests for faults

Kees Cook
2024-02-29T18:28:19Z

On Thu, Feb 29, 2024 at 06:04:09PM +0100, Mickaël Salaün wrote:
> The first test checks NULL pointer dereference and make sure it would
> result as a failed test.
>
> The second and third tests check that read-only data is indeed read-only
> and trying to modify it would result as a failed test.
>
> This kunit_x86_fault test suite is marked as skipped when run on a
> non-x86 native architecture. It is then skipped on UML because such
> test would result to a kernel panic.
>
> Tested with:
> ./tools/testing/kunit/kunit.py run --arch x86_64 kunit_x86_fault
>
> Cc: Brendan Higgins <brendanhiggins@google.com>
> Cc: David Gow <davidgow@google.com>
> Cc: Rae Moar <rmoar@google.com>
> Cc: Shuah Khan <skhan@linuxfoundation.org>
> Signed-off-by: Mickaël Salaün <mic@digikod.net>

If we can add some way to collect WARN/BUG output for examination, I
could rewrite most of LKDTM in KUnit! I really like this!

> ---
> lib/kunit/kunit-test.c | 115 ++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 114 insertions(+), 1 deletion(-)
>
> diff --git a/lib/kunit/kunit-test.c b/lib/kunit/kunit-test.c
> index f7980ef236a3..57d8eff00c66 100644
> --- a/lib/kunit/kunit-test.c
> +++ b/lib/kunit/kunit-test.c
> @@ -10,6 +10,7 @@
> #include <kunit/test-bug.h>
>
> #include <linux/device.h>
> +#include <linux/init.h>
> #include <kunit/device.h>
>
> #include "string-stream.h"
> @@ -109,6 +110,117 @@ static struct kunit_suite kunit_try_catch_test_suite = {
> .test_cases = kunit_try_catch_test_cases,
> };
>
> +#ifdef CONFIG_X86

Why is this x86 specific?

--
Kees Cook