On Thu, Feb 29, 2024 at 10:28:18AM -0800, Kees Cook wrote: > 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@xxxxxxxxxx> > > Cc: David Gow <davidgow@xxxxxxxxxx> > > Cc: Rae Moar <rmoar@xxxxxxxxxx> > > Cc: Shuah Khan <skhan@xxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Mickaël Salaün <mic@xxxxxxxxxxx> > > 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! Thanks! About the WARN/BUG examination, I guess the easier way would be to do in in user space by extending kunit_parser.py. > > > --- > > 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? Because I didn't test on other architecture, and it looks it crashed on arm64. :) I'll test on arm64 and change this condition with !CONFIG_UML. > > -- > Kees Cook >