kunit: bail out early in __kunit_test_suites_init() if there are no suites to test

commit 5496b9b77d7420652202b73cf036e69760be5deb
Author: Scott Mayhew <smayhew@redhat.com>
Date:   Thu Mar 21 10:32:00 2024 -0400

    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>

JIRA: https://issues.redhat.com/browse/RHEL-39303
Signed-off-by: Nico Pache <npache@redhat.com>
This commit is contained in:
Nico Pache 2024-07-11 13:27:54 -06:00
parent b9868e98ef
commit 9dd9b5b62a
1 changed files with 3 additions and 0 deletions

View File

@ -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;