Re: [PATCH] mm: kmsan: remove runtime checks from kmsan_unpoison_memory()

From: Alexander Potapenko
Date: Wed Jan 24 2024 - 12:28:30 EST


On Wed, Jan 24, 2024 at 6:15 PM Marco Elver <elver@xxxxxxxxxx> wrote:
>
> On Wed, 24 Jan 2024 at 17:42, 'Alexander Potapenko' via kasan-dev
> <kasan-dev@xxxxxxxxxxxxxxxx> wrote:
> >
> > Similarly to what's been done in commit ff444efbbb9be ("kmsan: allow
> > using __msan_instrument_asm_store() inside runtime"), it should be safe
> > to call kmsan_unpoison_memory() from within the runtime, as it does not
> > allocate memory or take locks. Remove the redundant runtime checks.
> >
> > This should fix false positives seen with CONFIG_DEBUG_LIST=y when
> > the non-instrumented lib/stackdepot.c failed to unpoison the memory
> > chunks later checked by the instrumented lib/list_debug.c
> >
> > Also replace the implementation of kmsan_unpoison_entry_regs() with
> > a call to kmsan_unpoison_memory().
> >
> > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx>
> > Cc: Marco Elver <elver@xxxxxxxxxx>
> > Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> > Cc: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
> > Cc: Nicholas Miehlbradt <nicholas@xxxxxxxxxxxxx>
>
> Tested-by: Marco Elver <elver@xxxxxxxxxx>
>

> missing ')', probably:
>
> + kmsan_unpoison_memory((void *)regs, sizeof(*regs));

My bad - you are right. Thanks for catching!