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

From: Andrey Konovalov
Date: Fri Sep 18 2020 - 06:39:54 EST


On Fri, Sep 18, 2020 at 10:17 AM Alexander Potapenko <glider@xxxxxxxxxx> 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.