KASan for Arm
From: | Linus Walleij <linus.walleij-AT-linaro.org> | |
To: | Florian Fainelli <f.fainelli-AT-gmail.com>, Abbott Liu <liuwenliang-AT-huawei.com>, Russell King <linux-AT-armlinux.org.uk>, Ard Biesheuvel <ardb-AT-kernel.org>, Andrey Ryabinin <aryabinin-AT-virtuozzo.com>, Mike Rapoport <rppt-AT-linux.ibm.com> | |
Subject: | [PATCH 0/5 v16] KASan for Arm | |
Date: | Mon, 19 Oct 2020 10:41:35 +0200 | |
Message-ID: | <20201019084140.4532-1-linus.walleij@linaro.org> | |
Cc: | Linus Walleij <linus.walleij-AT-linaro.org>, Arnd Bergmann <arnd-AT-arndb.de>, linux-arm-kernel-AT-lists.infradead.org | |
Archive-link: | Article |
This is the 16th and final (knock on wood) version of KASan for ARM32. Changes since v15: - Things now work on all boards we have tested on including Broadcom and i.MX6Q. - Folded in a fix from Ard to PAGE_ALIGN() the end of mappings making everything work on all Broadcom board. - Folded in a fix from Ahmad Fatoum making things work with fortify on i.MX6Q. - Testing and testing and testing on build servers. - We are good to go. I will now put this in Russell's patch tracker for v5.11. There is a git branch you can pull in: https://git.kernel.org/pub/scm/linux/kernel/git/linusw/li... This branch includes Ard's two patches already in Russell's patch tracker. Abbott Liu (1): ARM: Define the virtual space of KASan's shadow region Andrey Ryabinin (3): ARM: Disable KASan instrumentation for some code ARM: Replace string mem* functions for KASan ARM: Enable KASan for ARM Linus Walleij (1): ARM: Initialize the mapping of KASan shadow memory Documentation/arm/memory.rst | 5 + Documentation/dev-tools/kasan.rst | 4 +- .../features/debug/KASAN/arch-support.txt | 2 +- arch/arm/Kconfig | 10 + arch/arm/boot/compressed/Makefile | 1 + arch/arm/boot/compressed/string.c | 19 ++ arch/arm/include/asm/kasan.h | 33 ++ arch/arm/include/asm/kasan_def.h | 81 +++++ arch/arm/include/asm/memory.h | 5 + arch/arm/include/asm/pgalloc.h | 8 +- arch/arm/include/asm/string.h | 26 ++ arch/arm/include/asm/thread_info.h | 8 + arch/arm/include/asm/uaccess-asm.h | 2 +- arch/arm/kernel/entry-armv.S | 3 +- arch/arm/kernel/entry-common.S | 9 +- arch/arm/kernel/head-common.S | 7 +- arch/arm/kernel/setup.c | 2 + arch/arm/kernel/unwind.c | 6 +- arch/arm/lib/memcpy.S | 3 + arch/arm/lib/memmove.S | 5 +- arch/arm/lib/memset.S | 3 + arch/arm/mm/Makefile | 5 + arch/arm/mm/kasan_init.c | 292 ++++++++++++++++++ arch/arm/mm/mmu.c | 18 ++ arch/arm/mm/pgd.c | 16 +- arch/arm/vdso/Makefile | 2 + 26 files changed, 561 insertions(+), 14 deletions(-) create mode 100644 arch/arm/include/asm/kasan.h create mode 100644 arch/arm/include/asm/kasan_def.h create mode 100644 arch/arm/mm/kasan_init.c -- 2.26.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel