On Mon, Jan 18, 2021 at 7:30 PM Vincenzo Frascino <vincenzo.frasc...@arm.com> wrote: > --- a/Documentation/dev-tools/kasan.rst > +++ b/Documentation/dev-tools/kasan.rst > @@ -162,6 +162,9 @@ particular KASAN features. > > - ``kasan=off`` or ``=on`` controls whether KASAN is enabled (default: > ``on``). > > +- ``kasan.mode=sync`` or ``=async`` controls whether KASAN is configured in > + synchronous or asynchronous mode of execution (default: ``sync``).
This needs to be expanded with a short explanation of the difference. > +static inline void hw_enable_tagging_mode(void) > +{ > + if (kasan_arg_mode == KASAN_ARG_MODE_ASYNC) > + hw_enable_tagging_async(); > + else > + hw_enable_tagging_sync(); > +} It's OK to open-code this in kasan_init_hw_tags_cpu(), no need for an additional function. > --- a/mm/kasan/kasan.h > +++ b/mm/kasan/kasan.h > @@ -284,7 +284,8 @@ static inline const void *arch_kasan_set_tag(const void > *addr, u8 tag) > #define arch_set_mem_tag_range(addr, size, tag) ((void *)(addr)) > #endif > > -#define hw_enable_tagging() arch_enable_tagging() > +#define hw_enable_tagging_sync() arch_enable_tagging_sync() > +#define hw_enable_tagging_async() arch_enable_tagging_async() This is one of the places that conflicts with the testing patches. You'll need to: add an else case definition of hw_enable_tagging_sync(); change lib/test_kasan.c to use hw_enable_tagging_sync(). I'll later add a patch on top that forbids running the tests with the async mode.