[PATCH v9 21/44] kasan: kasan_non_canonical_hook only for software modes

Alexander Potapenko glider at google.com
Thu Nov 12 10:16:29 EST 2020


On Wed, Nov 11, 2020 at 7:52 PM 'Andrey Konovalov' via kasan-dev
<kasan-dev at googlegroups.com> wrote:
>
> On Wed, Nov 11, 2020 at 4:09 PM Alexander Potapenko <glider at google.com> wrote:
> >
> > On Tue, Nov 10, 2020 at 11:11 PM Andrey Konovalov <andreyknvl at google.com> wrote:
> > >
> > > This is a preparatory commit for the upcoming addition of a new hardware
> > > tag-based (MTE-based) KASAN mode.
> > >
> > > kasan_non_canonical_hook() is only applicable to KASAN modes that use
> > > shadow memory, and won't be needed for hardware tag-based KASAN.
> > >
> > > No functional changes for software modes.
> > >
> > > Signed-off-by: Andrey Konovalov <andreyknvl at google.com>
> > > Signed-off-by: Vincenzo Frascino <vincenzo.frascino at arm.com>
> > > Reviewed-by: Marco Elver <elver at google.com>
> > > ---
> > > Change-Id: Icc9f5ef100a2e86f3a4214a0c3131a68266181b2
> > > ---
> > >  mm/kasan/report.c | 3 ++-
> > >  1 file changed, 2 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/mm/kasan/report.c b/mm/kasan/report.c
> > > index 5d5733831ad7..594bad2a3a5e 100644
> > > --- a/mm/kasan/report.c
> > > +++ b/mm/kasan/report.c
> > > @@ -403,7 +403,8 @@ bool kasan_report(unsigned long addr, size_t size, bool is_write,
> > >         return ret;
> > >  }
> > >
> > > -#ifdef CONFIG_KASAN_INLINE
> > > +#if (defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)) && \
> > > +       defined(CONFIG_KASAN_INLINE)
> > >  /*
> > >   * With CONFIG_KASAN_INLINE, accesses to bogus pointers (outside the high
> > >   * canonical half of the address space) cause out-of-bounds shadow memory reads
> >
> > Perhaps this comment also needs to be updated.
>
> In what way?

Ok, maybe not. I thought you were restricting the set of configs under
which this hook is used, so this should've been explained.
But as far as I understand, CONFIG_KASAN_INLINE already implies
"defined(CONFIG_KASAN_GENERIC) || defined(CONFIG_KASAN_SW_TAGS)",
doesn't it?
Maybe this change is not needed at all then?

>
> --
> You received this message because you are subscribed to the Google Groups "kasan-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to kasan-dev+unsubscribe at googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/kasan-dev/CAAeHK%2BwX%2BJPyZm2A5mDdGFCqnH6kdSBLyOZ2TnWfZnZuq_V0Bw%40mail.gmail.com.



-- 
Alexander Potapenko
Software Engineer

Google Germany GmbH
Erika-Mann-Straße, 33
80636 München

Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg



More information about the linux-arm-kernel mailing list