From: Andrey Konovalov <redacted>
Subject: kasan: don't run tests when KASAN is not enabled
Don't run KASAN tests when it's disabled with kasan.mode=off to avoid
corrupting kernel memory.
Link: https://linux-review.googlesource.com/id/I6447af436a69a94bfc35477f6bf4e2122948355e
Link: https://lkml.kernel.org/r/25bd4fb5cae7b421d806a1f33fb633edd313f0c7.1610733117.git.andreyknvl@google.com
Signed-off-by: Andrey Konovalov <redacted>
Reviewed-by: Marco Elver <elver@google.com>
Reviewed-by: Alexander Potapenko <glider@google.com>
Cc: Andrey Ryabinin <redacted>
Cc: Branislav Rankov <redacted>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Dmitry Vyukov <dvyukov@google.com>
Cc: Evgenii Stepanov <redacted>
Cc: Kevin Brodsky <redacted>
Cc: Peter Collingbourne <redacted>
Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
Cc: Will Deacon <redacted>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
lib/test_kasan.c | 5 +++++
1 file changed, 5 insertions(+)
--- a/lib/test_kasan.c~kasan-dont-run-tests-when-kasan-is-not-enabled
+++ a/lib/test_kasan.c
@@ -47,6 +47,11 @@ static bool multishot;
*/
static int kasan_test_init(struct kunit *test)
{
+ if (!kasan_enabled()) {
+ kunit_err(test, "can't run KASAN tests with KASAN disabled");
+ return -1;
+ }
+
multishot = kasan_save_enable_multi_shot();
kasan_set_tagging_report_once(false);
return 0;_