Re: [PATCH 2/2] kasan: add memcg kmem_cache test

From: Vladimir Davydov
Date: Thu Dec 22 2016 - 04:26:00 EST


On Tue, Dec 20, 2016 at 10:11:02AM -0800, Greg Thelen wrote:
> Make a kasan test which uses a SLAB_ACCOUNT slab cache. If the test is
> run within a non default memcg, then it uncovers the bug fixed by
> "kasan: drain quarantine of memcg slab objects"[1].
>
> If run without fix [1] it shows "Slab cache still has objects", and the
> kmem_cache structure is leaked.
> Here's an unpatched kernel test:
> $ dmesg -c > /dev/null
> $ mkdir /sys/fs/cgroup/memory/test
> $ echo $$ > /sys/fs/cgroup/memory/test/tasks
> $ modprobe test_kasan 2> /dev/null
> $ dmesg | grep -B1 still
> [ 123.456789] kasan test: memcg_accounted_kmem_cache allocate memcg accounted object
> [ 124.456789] kmem_cache_destroy test_cache: Slab cache still has objects
>
> Kernels with fix [1] don't have the "Slab cache still has objects"
> warning or the underlying leak.
>
> The new test runs and passes in the default (root) memcg, though in the
> root memcg it won't uncover the problem fixed by [1].
>
> Signed-off-by: Greg Thelen <gthelen@xxxxxxxxxx>

Reviewed-by: Vladimir Davydov <vdavydov.dev@xxxxxxxxx>