On Mon, 24 Jan 2022 at 19:02, <andrey.konovalov@xxxxxxxxx> wrote: > > From: Andrey Konovalov <andreyknvl@xxxxxxxxxx> > > Hi, > > This patchset adds vmalloc tagging support for SW_TAGS and HW_TAGS > KASAN modes. [...] > > Acked-by: Marco Elver <elver@xxxxxxxxxx> FYI, my Ack may get lost here - on rebase you could apply it to all patches to carry it forward. As-is, Andrew would still have to apply it manually. An Ack to the cover letter saves replying to each patch and thus generating less emails, which I think is preferred. My Ack is still valid, given v6 is mainly a rebase and I don't see any major changes. Thanks, -- Marco > Andrey Konovalov (39): > kasan, page_alloc: deduplicate should_skip_kasan_poison > kasan, page_alloc: move tag_clear_highpage out of > kernel_init_free_pages > kasan, page_alloc: merge kasan_free_pages into free_pages_prepare > kasan, page_alloc: simplify kasan_poison_pages call site > kasan, page_alloc: init memory of skipped pages on free > kasan: drop skip_kasan_poison variable in free_pages_prepare > mm: clarify __GFP_ZEROTAGS comment > kasan: only apply __GFP_ZEROTAGS when memory is zeroed > kasan, page_alloc: refactor init checks in post_alloc_hook > kasan, page_alloc: merge kasan_alloc_pages into post_alloc_hook > kasan, page_alloc: combine tag_clear_highpage calls in post_alloc_hook > kasan, page_alloc: move SetPageSkipKASanPoison in post_alloc_hook > kasan, page_alloc: move kernel_init_free_pages in post_alloc_hook > kasan, page_alloc: rework kasan_unpoison_pages call site > kasan: clean up metadata byte definitions > kasan: define KASAN_VMALLOC_INVALID for SW_TAGS > kasan, x86, arm64, s390: rename functions for modules shadow > kasan, vmalloc: drop outdated VM_KASAN comment > kasan: reorder vmalloc hooks > kasan: add wrappers for vmalloc hooks > kasan, vmalloc: reset tags in vmalloc functions > kasan, fork: reset pointer tags of vmapped stacks > kasan, arm64: reset pointer tags of vmapped stacks > kasan, vmalloc: add vmalloc tagging for SW_TAGS > kasan, vmalloc, arm64: mark vmalloc mappings as pgprot_tagged > kasan, vmalloc: unpoison VM_ALLOC pages after mapping > kasan, mm: only define ___GFP_SKIP_KASAN_POISON with HW_TAGS > kasan, page_alloc: allow skipping unpoisoning for HW_TAGS > kasan, page_alloc: allow skipping memory init for HW_TAGS > kasan, vmalloc: add vmalloc tagging for HW_TAGS > kasan, vmalloc: only tag normal vmalloc allocations > kasan, arm64: don't tag executable vmalloc allocations > kasan: mark kasan_arg_stacktrace as __initdata > kasan: clean up feature flags for HW_TAGS mode > kasan: add kasan.vmalloc command line flag > kasan: allow enabling KASAN_VMALLOC and SW/HW_TAGS > arm64: select KASAN_VMALLOC for SW/HW_TAGS modes > kasan: documentation updates > kasan: improve vmalloc tests > > Documentation/dev-tools/kasan.rst | 17 ++- > arch/arm64/Kconfig | 2 +- > arch/arm64/include/asm/vmalloc.h | 6 + > arch/arm64/include/asm/vmap_stack.h | 5 +- > arch/arm64/kernel/module.c | 5 +- > arch/arm64/mm/pageattr.c | 2 +- > arch/arm64/net/bpf_jit_comp.c | 3 +- > arch/s390/kernel/module.c | 2 +- > arch/x86/kernel/module.c | 2 +- > include/linux/gfp.h | 35 +++-- > include/linux/kasan.h | 97 +++++++++----- > include/linux/vmalloc.h | 18 +-- > include/trace/events/mmflags.h | 14 +- > kernel/fork.c | 1 + > kernel/scs.c | 4 +- > lib/Kconfig.kasan | 20 +-- > lib/test_kasan.c | 189 ++++++++++++++++++++++++++- > mm/kasan/common.c | 4 +- > mm/kasan/hw_tags.c | 193 ++++++++++++++++++++++------ > mm/kasan/kasan.h | 18 ++- > mm/kasan/shadow.c | 63 +++++---- > mm/page_alloc.c | 152 +++++++++++++++------- > mm/vmalloc.c | 99 +++++++++++--- > 23 files changed, 731 insertions(+), 220 deletions(-) > > -- > 2.25.1 >