[PATCH v1 5/8] kunit: Handle test faults
Mickaël Salaün
mic at digikod.net
Fri Mar 1 19:09:27 UTC 2024
On Thu, Feb 29, 2024 at 10:24:19AM -0800, Kees Cook wrote:
> On Thu, Feb 29, 2024 at 06:04:06PM +0100, Mickaël Salaün wrote:
> > Previously, when a kernel test thread crashed (e.g. NULL pointer
> > dereference, general protection fault), the KUnit test hanged for 30
> > seconds and exited with a timeout error.
> >
> > Fix this issue by waiting on task_struct->vfork_done instead of the
> > custom kunit_try_catch.try_completion, and track the execution state by
> > initially setting try_result with -EFAULT and only setting it to 0 if
> > the test passed.
> >
> > Fix kunit_generic_run_threadfn_adapter() signature by returning 0
> > instead of calling kthread_complete_and_exit(). Because thread's exit
> > code is never checked, always set it to 0 to make it clear.
> >
> > Fix the -EINTR error message, which couldn't be reached until now.
> >
> > This is tested with a following patch.
> >
> > Cc: Brendan Higgins <brendanhiggins at google.com>
> > Cc: David Gow <davidgow at google.com>
> > Cc: Rae Moar <rmoar at google.com>
> > Cc: Shuah Khan <skhan at linuxfoundation.org>
> > Signed-off-by: Mickaël Salaün <mic at digikod.net>
>
> I assume we can start checking for "intentional" faults now?
Yes, but adding dedicated exception handling for such faults would
probably be cleaner.
At least we can now easily write tests as I did with the last patch. The
only potential issue is that the kernel will still print the related
warning in logs, but I think it's OK for tests (and maybe something we'd
like to test too by the way).
>
> Reviewed-by: Kees Cook <keescook at chromium.org>
>
> --
> Kees Cook
>
More information about the Linux-security-module-archive
mailing list