kasan: cleanup patch-bomb to sync with v4 patchset.

Misc changes, mostly cleanups. This is cleanup patch-bomb with different kind of fixes.

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
kmemleak: enable KASan's instrumentation for mm/kmemleak.c

There is no reason for disabling instrumentation for the whole
file. Disable KASan only on object's access in scan_block().

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
kasan: drop __asan_init_v*().

Note: this will break compilation on old compilers.

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
mm: slub, kasan: get rid of kasan_free_slab_pages and fix kasan_mark_slab_padding

Remov useless kasan_free_slab_pages().
Fix kasan_mark_slab_padding(). Before this kasan_mark_slab_padding could
leave some memory unpoisoned.

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
kasan: Add KASan's documentation.

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
lib: add kasan test module

This is a test module doing various nasty things like
out of bounds accesses, use after free. It is useful for testing
kernel debugging features like kernel address sanitizer.

It mostly concentrates on testing of slab allocator, but we
might want to add more different stuff here in future (like
stack/global variables out of bounds accesses and so on).

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>