lkml.org 
[lkml]   [2018]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v13 19/25] kasan: add hooks implementation for tag-based mode
From
Date
Hi Andrey,

On 06/12/2018 12:24, Andrey Konovalov wrote:
> This commit adds tag-based KASAN specific hooks implementation and
> adjusts common generic and tag-based KASAN ones.
>
> 1. When a new slab cache is created, tag-based KASAN rounds up the size of
> the objects in this cache to KASAN_SHADOW_SCALE_SIZE (== 16).
>
> 2. On each kmalloc tag-based KASAN generates a random tag, sets the shadow
> memory, that corresponds to this object to this tag, and embeds this
> tag value into the top byte of the returned pointer.
>
> 3. On each kfree tag-based KASAN poisons the shadow memory with a random
> tag to allow detection of use-after-free bugs.
>
> The rest of the logic of the hook implementation is very much similar to
> the one provided by generic KASAN. Tag-based KASAN saves allocation and
> free stack metadata to the slab object the same way generic KASAN does.
>
> Reviewed-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
> Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
> Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
> ---
> mm/kasan/common.c | 116 ++++++++++++++++++++++++++++++++++++++--------
> mm/kasan/kasan.h | 8 ++++
> mm/kasan/tags.c | 48 +++++++++++++++++++
> 3 files changed, 153 insertions(+), 19 deletions(-)
>


[...]

> @@ -265,6 +290,8 @@ void kasan_cache_create(struct kmem_cache *cache, unsigned int *size,
> return;
> }
>
> + cache->align = round_up(cache->align, KASAN_SHADOW_SCALE_SIZE);
> +

Did you consider to set ARCH_SLAB_MINALIGN instead of this round up?

--
Regards,
Vincenzo

\
 
 \ /
  Last update: 2018-12-11 17:23    [W:0.185 / U:2.672 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site