[PATCH v2 07/37] kasan: split out shadow.c from common.c

Andrey Konovalov andreyknvl at google.com
Fri Sep 18 06:39:39 EDT 2020


On Fri, Sep 18, 2020 at 10:17 AM Alexander Potapenko <glider at google.com> wrote:
>
> > diff --git a/mm/kasan/shadow.c b/mm/kasan/shadow.c
> > new file mode 100644
> > index 000000000000..4888084ecdfc
> > --- /dev/null
> > +++ b/mm/kasan/shadow.c
> > @@ -0,0 +1,509 @@
> > +// SPDX-License-Identifier: GPL-2.0
> > +/*
> > + * This file contains KASAN shadow runtime code.
>
> I think it will be nice to mention here which KASAN modes are going to
> use this file.

Will do in v3.

> > +#undef memset
> > +void *memset(void *addr, int c, size_t len)
> > +{
> > +       if (!check_memory_region((unsigned long)addr, len, true, _RET_IP_))
> > +               return NULL;
> > +
> > +       return __memset(addr, c, len);
> > +}
> > +
>
> OOC, don't we need memset and memmove implementations in the
> hardware-based mode as well?

Hardware mode uses native memset implementation as all memory access
instructions are checked by the hardware anyway.

> > +       region_start = ALIGN(start, PAGE_SIZE * KASAN_GRANULE_SIZE);
> > +       region_end = ALIGN_DOWN(end, PAGE_SIZE * KASAN_GRANULE_SIZE);
>
> "PAGE_SIZE * KASAN_GRANULE_SIZE" seems to be a common thing, can we
> give it a name?

This patch just moves the already existing code, but I can fix this in
a separate patch.



More information about the linux-arm-kernel mailing list