Message ID | 07455abaab13824579c1b8e50cc038cf8a0f3369.1597425745.git.andreyknvl@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kasan: add hardware tag-based mode for arm64 | expand |
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@google.com> > --- > 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 >
On 8/27/20 11:41 AM, Catalin Marinas wrote: > 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@google.com> >> --- >> 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). > Agreed, we should only include asm/mte-def.h here since after the suggested modification will be sufficient for the purpose. >> +#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 >> >
On Thu, Aug 27, 2020 at 1:05 PM Vincenzo Frascino <vincenzo.frascino@arm.com> wrote: > > > > On 8/27/20 11:41 AM, Catalin Marinas wrote: > > 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@google.com> > >> --- > >> 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). > > > > Agreed, we should only include asm/mte-def.h here since after the suggested > modification will be sufficient for the purpose. Will do in v2. > > >> +#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 > >> > > > > -- > Regards, > Vincenzo
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> +#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 */
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@google.com> --- mm/kasan/kasan.h | 6 ++++++ 1 file changed, 6 insertions(+)