Thread (26 messages) 26 messages, 4 authors, 2024-03-01

Re: [PATCH v1 5/8] kunit: Handle test faults

From: Kees Cook <hidden>
Date: 2024-02-29 18:24:20
Also in: kvm, linux-hardening, linux-hyperv, lkml

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 <redacted>
Cc: David Gow <redacted>
Cc: Rae Moar <redacted>
Cc: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
I assume we can start checking for "intentional" faults now?

Reviewed-by: Kees Cook <redacted>

-- 
Kees Cook
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help