Re: [PATCH 28/35] kasan: define KASAN_GRANULE_SIZE for HW_TAGS

From: Catalin Marinas
Date: Thu Aug 27 2020 - 06:41:55 EST


On Fri, Aug 14, 2020 at 07:27:10PM +0200, Andrey Konovalov wrote:
> Hardware tag-based KASAN has granules of MTE_GRANULE_SIZE. Define
> KASAN_GRANULE_SIZE to MTE_GRANULE_SIZE for CONFIG_KASAN_HW_TAGS.
>
> Signed-off-by: Andrey Konovalov <andreyknvl@xxxxxxxxxx>
> ---
> mm/kasan/kasan.h | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/mm/kasan/kasan.h b/mm/kasan/kasan.h
> index 1d3c7c6ce771..4d8e229f8e01 100644
> --- a/mm/kasan/kasan.h
> +++ b/mm/kasan/kasan.h
> @@ -5,7 +5,13 @@
> #include <linux/kasan.h>
> #include <linux/stackdepot.h>
>
> +#if defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)
> #define KASAN_GRANULE_SIZE (1UL << KASAN_SHADOW_SCALE_SHIFT)
> +#else
> +#include <asm/mte.h>

You could only include the new asm/mte-def.h file (currently mte_asm.h).

> +#define KASAN_GRANULE_SIZE (MTE_GRANULE_SIZE)
> +#endif
> +
> #define KASAN_GRANULE_MASK (KASAN_GRANULE_SIZE - 1)
>
> #define KASAN_TAG_KERNEL 0xFF /* native kernel pointers tag */
> --
> 2.28.0.220.ged08abb693-goog
>

--
Catalin