[PATCH mm v3 23/38] kasan, arm64: reset pointer tags of vmapped stacks

Catalin Marinas catalin.marinas at arm.com
Tue Dec 14 05:25:19 PST 2021


On Mon, Dec 13, 2021 at 10:54:19PM +0100, andrey.konovalov at linux.dev wrote:
> From: Andrey Konovalov <andreyknvl at google.com>
> 
> Once tag-based KASAN modes start tagging vmalloc() allocations,
> kernel stacks start getting tagged if CONFIG_VMAP_STACK is enabled.
> 
> Reset the tag of kernel stack pointers after allocation in
> arch_alloc_vmap_stack().
> 
> For SW_TAGS KASAN, when CONFIG_KASAN_STACK is enabled, the
> instrumentation can't handle the SP register being tagged.
> 
> For HW_TAGS KASAN, there's no instrumentation-related issues. However,
> the impact of having a tagged SP register needs to be properly evaluated,
> so keep it non-tagged for now.
> 
> Note, that the memory for the stack allocation still gets tagged to
> catch vmalloc-into-stack out-of-bounds accesses.
> 
> Signed-off-by: Andrey Konovalov <andreyknvl at google.com>

Acked-by: Catalin Marinas <catalin.marinas at arm.com>



More information about the linux-arm-kernel mailing list