kunit: bail out early in __kunit_test_suites_init() if there are no suites to test
authorScott Mayhew <smayhew@redhat.com>
Thu, 21 Mar 2024 14:32:00 +0000 (10:32 -0400)
committerShuah Khan <skhan@linuxfoundation.org>
Mon, 6 May 2024 20:22:02 +0000 (14:22 -0600)
commit5496b9b77d7420652202b73cf036e69760be5deb
tree6f448fc462dfea34af39ef98d0e7cd7e255d0398
parenta96a39457705018ad1aac79e7a8453ee52b512ba
kunit: bail out early in __kunit_test_suites_init() if there are no suites to test

Commit c72a870926c2 added a mutex to prevent kunit tests from running
concurrently.  Unfortunately that mutex gets locked during module load
regardless of whether the module actually has any kunit tests.  This
causes a problem for kunit tests that might need to load other kernel
modules (e.g. gss_krb5_test loading the camellia module).

So check to see if there are actually any tests to run before locking
the kunit_run_lock mutex.

Fixes: c72a870926c2 ("kunit: add ability to run tests after boot using debugfs")
Reported-by: Nico Pache <npache@redhat.com>
Signed-off-by: Scott Mayhew <smayhew@redhat.com>
Reviewed-by: Rae Moar <rmoar@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
lib/kunit/test.c