Re: [PATCH v2 1/2] mm, kasan: don't call kasan_krealloc() from ksize().

From: Alexander Potapenko
Date: Thu Apr 28 2016 - 07:38:41 EST


On Fri, Apr 22, 2016 at 11:32 PM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Wed, 13 Apr 2016 13:20:09 +0200 Alexander Potapenko <glider@xxxxxxxxxx> wrote:
>
>> Instead of calling kasan_krealloc(), which replaces the memory allocation
>> stack ID (if stack depot is used), just unpoison the whole memory chunk.
>
> I don't understand why these two patches exist. Bugfix? Cleanup?
> Optimization?
It's incorrect to call kasan_krealloc() from ksize(), because the
former may touch the allocation metadata (it does so for the SLAB
allocator).
Yes, this is a bugfix.
>
> I had to change kmalloc_tests_init() a bit due to
> mm-kasan-initial-memory-quarantine-implementation.patch:
>
> kasan_stack_oob();
> kasan_global_oob();
> #ifdef CONFIG_SLAB
> kasan_quarantine_cache();
> #endif
> + ksize_unpoisons_memory();
> return -EAGAIN;
> }
>
> Please check.
Ack.



--
Alexander Potapenko
Software Engineer

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

GeschÃftsfÃhrer: Matthew Scott Sucherman, Paul Terence Manicle
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg