Re: [PATCH v2 00/34] kasan, vmalloc, arm64: add vmalloc tagging support for SW/HW_TAGS
From: Andrey Konovalov <andreyknvl@gmail.com>
Date: 2021-12-07 19:46:38
Also in:
linux-mm, lkml
On Mon, Dec 6, 2021 at 10:22 PM [off-list ref] wrote:
From: Andrey Konovalov <redacted> Hi, This patchset adds vmalloc tagging support for SW_TAGS and HW_TAGS KASAN modes. The tree with patches is available here: https://github.com/xairy/linux/tree/up-kasan-vmalloc-tags-v2 About half of patches are cleanups I went for along the way. None of them seem to be important enough to go through stable, so I decided not to split them out into separate patches/series. I'll keep the patchset based on the mainline for now. Once the high-level issues are resolved, I'll rebase onto mm - there might be a few conflicts right now. The patchset is partially based on an early version of the HW_TAGS patchset by Vincenzo that had vmalloc support. Thus, I added a Co-developed-by tag into a few patches. SW_TAGS vmalloc tagging support is straightforward. It reuses all of the generic KASAN machinery, but uses shadow memory to store tags instead of magic values. Naturally, vmalloc tagging requires adding a few kasan_reset_tag() annotations to the vmalloc code. HW_TAGS vmalloc tagging support stands out. HW_TAGS KASAN is based on Arm MTE, which can only assigns tags to physical memory. As a result, HW_TAGS KASAN only tags vmalloc() allocations, which are backed by page_alloc memory. It ignores vmap() and others. Changes in v1->v2: - Move memory init for vmalloc() into vmalloc code for HW_TAGS KASAN. - Minor fixes and code reshuffling, see patches for lists of changes. Thanks!
FTR, I found a few issues with a tag propagating to PC (in BPF JIT and a few other places). Will address them in v3. _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel