]> git.baikalelectronics.ru Git - kernel.git/commitdiff
kfence: test: fail fast if disabled at boot
authorMarco Elver <elver@google.com>
Wed, 8 Sep 2021 02:56:24 +0000 (19:56 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Sep 2021 18:50:24 +0000 (11:50 -0700)
Fail kfence_test fast if KFENCE was disabled at boot, instead of each test
case trying several seconds to allocate from KFENCE and failing.  KUnit
will fail all test cases if kunit_suite::init returns an error.

Even if KFENCE was disabled, we still want the test to fail, so that CI
systems that parse KUnit output will alert on KFENCE being disabled
(accidentally or otherwise).

Link: https://lkml.kernel.org/r/20210825105533.1247922-1-elver@google.com
Signed-off-by: Marco Elver <elver@google.com>
Reported-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Tested-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: Alexander Potapenko <glider@google.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/kfence/kfence_test.c

index 942cbc16ad26ba8bc6032ce4b7416d8725b750ad..b936137f3ec3092e3d39862d72193d0cddbb9fca 100644 (file)
@@ -789,6 +789,9 @@ static int test_init(struct kunit *test)
        unsigned long flags;
        int i;
 
+       if (!__kfence_pool)
+               return -EINVAL;
+
        spin_lock_irqsave(&observed.lock, flags);
        for (i = 0; i < ARRAY_SIZE(observed.lines); i++)
                observed.lines[i][0] = '\0';