Re: [PATCH v5 6/6] kasan: Forbid kunit tests when async mode is enabled

From: Catalin Marinas
Date: Fri Jan 22 2021 - 07:01:35 EST


On Thu, Jan 21, 2021 at 06:40:35PM +0100, Andrey Konovalov wrote:
> On Thu, Jan 21, 2021 at 5:40 PM Vincenzo Frascino
> <vincenzo.frascino@xxxxxxx> wrote:
> >
> > Architectures supported by KASAN_HW_TAGS can provide a sync or async
> > mode of execution. KASAN KUNIT tests can be executed only when sync
> > mode is enabled.
> >
> > Forbid the execution of the KASAN KUNIT tests when async mode is
> > enabled.
> >
> > Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx>
> > Cc: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
> > Cc: Alexander Potapenko <glider@xxxxxxxxxx>
> > Cc: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
> > Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
> > ---
> > lib/test_kasan.c | 5 +++++
> > mm/kasan/kasan.h | 2 ++
> > 2 files changed, 7 insertions(+)
> >
> > diff --git a/lib/test_kasan.c b/lib/test_kasan.c
> > index 7285dcf9fcc1..1306f707b4fe 100644
> > --- a/lib/test_kasan.c
> > +++ b/lib/test_kasan.c
> > @@ -52,6 +52,11 @@ static int kasan_test_init(struct kunit *test)
> > return -1;
> > }
> >
> > + if (!hw_is_mode_sync()) {
> > + kunit_err(test, "can't run KASAN tests in async mode");
> > + return -1;
> > + }
>
> I'd rather implement this check at the KASAN level, than in arm64
> code. Just the way kasan_stack_collection_enabled() is implemented.
>
> Feel free to drop this change and the previous patch, I'll implement
> this myself later.

I agree, it makes sense.

--
Catalin