lkml.org 
[lkml]   [2022]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.18 208/879] kunit: fix executor OOM error handling logic on non-UML
    Date
    From: Daniel Latypov <dlatypov@google.com>

    [ Upstream commit 1b11063d32d7e11366e48be64215ff517ce32217 ]

    The existing logic happens to work fine on UML, but is not correct when
    running on other arches.

    1. We didn't initialize `int err`, and kunit_filter_suites() doesn't
    explicitly set it to 0 on success. So we had false "failures".
    Note: it doesn't happen on UML, causing this to get overlooked.
    2. If we error out, we do not call kunit_handle_shutdown().
    This makes kunit.py timeout when using a non-UML arch, since the QEMU
    process doesn't ever exit.

    Fixes: a02353f49162 ("kunit: bail out of test filtering logic quicker if OOM")
    Signed-off-by: Daniel Latypov <dlatypov@google.com>
    Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
    Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    lib/kunit/executor.c | 9 +++++----
    1 file changed, 5 insertions(+), 4 deletions(-)

    diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c
    index 2f73a6a35a7e..96f96e42ce06 100644
    --- a/lib/kunit/executor.c
    +++ b/lib/kunit/executor.c
    @@ -247,13 +247,13 @@ int kunit_run_all_tests(void)
    .start = __kunit_suites_start,
    .end = __kunit_suites_end,
    };
    - int err;
    + int err = 0;

    if (filter_glob_param) {
    suite_set = kunit_filter_suites(&suite_set, filter_glob_param, &err);
    if (err) {
    pr_err("kunit executor: error filtering suites: %d\n", err);
    - return err;
    + goto out;
    }
    }

    @@ -268,9 +268,10 @@ int kunit_run_all_tests(void)
    kunit_free_suite_set(suite_set);
    }

    - kunit_handle_shutdown();

    - return 0;
    +out:
    + kunit_handle_shutdown();
    + return err;
    }

    #if IS_BUILTIN(CONFIG_KUNIT_TEST)
    --
    2.35.1


    \
     
     \ /
      Last update: 2022-06-08 00:22    [W:2.403 / U:0.080 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site