Messages in this thread | | | From | Marco Elver <> | Date | Fri, 17 Feb 2023 09:56:34 +0100 | Subject | Re: next: x86_64: kunit test crashed and kernel panic |
| |
On Fri, 17 Feb 2023 at 08:30, Naresh Kamboju <naresh.kamboju@linaro.org> wrote: > > Hi Marco, > > On Fri, 17 Feb 2023 at 05:22, Marco Elver <elver@google.com> wrote: > > > > On Thu, 16 Feb 2023 at 19:59, Alexander Potapenko <glider@google.com> wrote: > > > > > > > > > > > > <4>[ 38.796558] ? kmalloc_memmove_negative_size+0xeb/0x1f0 > > > > > <4>[ 38.797376] ? __pfx_kmalloc_memmove_negative_size+0x10/0x10 > > > > > > > > Most certainly kmalloc_memmove_negative_size() is related. > > > > Looks like we fail to intercept the call to memmove() in this test, > > > > passing -2 to the actual __memmove(). > > > > > > This was introduced by 69d4c0d321869 ("entry, kasan, x86: Disallow > > > overriding mem*() functions") > > > > Ah, thanks! > > > > > There's Marco's "kasan: Emit different calls for instrumentable > > > memintrinsics", but it doesn't fix the problem for me (looking > > > closer...), and GCC support is still not there, right? > > > > Only Clang 15 supports it at this point. Some future GCC will support it. > > > > > Failing to intercept memcpy/memset/memmove should normally result in > > > false negatives, but kmalloc_memmove_negative_size() makes a strong > > > assumption that KASAN will catch and prevent memmove(dst, src, -2). > > > > Ouch - ok, so we need to skip these tests if we know memintrinsics > > aren't instrumented. > > > > I've sent a series here: > > https://lore.kernel.org/all/20230216234522.3757369-1-elver@google.com/ > > Thanks for sending this patch series. > > I request you to share your Linux tree / branch / sha. > I will rebuild it with clang-16 and run kunit tests and get back to > you soon with results.
The series should apply against -next, where you observed the failure.
Otherwise I have them here: https://git.kernel.org/pub/scm/linux/kernel/git/melver/linux.git/log/?h=kasan/dev
Thanks, -- Marco
| |