Skip to content

Commit

Permalink
kunit: bail out early in __kunit_test_suites_init() if there are no s…
Browse files Browse the repository at this point in the history
…uites to test

Commit c72a870 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: c72a870 ("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>
  • Loading branch information
scottmayhew authored and shuahkh committed May 6, 2024
1 parent a96a394 commit 5496b9b
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions lib/kunit/test.c
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,9 @@ int __kunit_test_suites_init(struct kunit_suite * const * const suites, int num_
{
unsigned int i;

if (num_suites == 0)
return 0;

if (!kunit_enabled() && num_suites > 0) {
pr_info("kunit: disabled\n");
return 0;
Expand Down

0 comments on commit 5496b9b

Please sign in to comment.