The 'vmalloc_oob' test is failing.
The "KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)area));" line is not triggering a KASAN error.
I reproduced this using the qemu patchset 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  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)", 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...
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
Confirmed this is fixed by https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7ca3027b726be681c8e6292b5a81ebcde7581710 in 5.13, thanks!