The 'vmalloc_oob' test is failing. The "KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)area)[3100]);" line is not triggering a KASAN error. I reproduced this using the qemu patchset[1] for KUnit, but it also showed up when compiling and running the kernel manually under qemu, with the test built-in. The failure message (once [2] has been applied to make it useful) is: [22:04:04] [FAILED] vmalloc_oob [22:04:04] # vmalloc_oob: EXPECTATION FAILED at lib/test_kasan.c:993 [22:04:04] KASAN failure expected in "((volatile char *)area)[3100]", but none occurred [22:04:04] not ok 45 - vmalloc_oob I did try randomly changing the 3100 to other values just outside the 3000-byte array, but wasn't able to get a KASAN failure. I'm yet to try bisecting this properly, though... [1]: https://patchwork.kernel.org/project/linux-kselftest/list/?series=489179 [2]: https://groups.google.com/g/kasan-dev/c/CbabdwoXGlE
Stupid question, but to rule out simple things: it may require CONFIG_KASAN_VMALLOC, do you have it enabled?
Yeah, CONFIG_KASAN_VMALLOC=y, otherwise that line is never reached (and therefore no expectation failure occurs) due to the KASAN_TEST_NEEDS_CONFIG_ON() earlier.
I bisected this to 121e6f3258fe ("mm/vmalloc: hugepage vmalloc mappings"). Haven't yet looked into what the issue is.
> I bisected this to 121e6f3258fe ("mm/vmalloc: hugepage vmalloc mappings"). > Haven't yet looked into what the issue is. Thanks for the bisect, I'll have a look ... I have the advantage of being able to bug Nick via Slack if I get stuck :P Kind regards, Daniel
See https://lore.kernel.org/linux-mm/20210617081330.98629-1-dja@axtens.net/T/#u
Confirmed this is fixed by https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7ca3027b726be681c8e6292b5a81ebcde7581710 in 5.13, thanks!