[PATCH 0/5 v11] KASan for Arm
Linus Walleij
linus.walleij at linaro.org
Tue Jun 30 09:37:31 EDT 2020
This is the v11 version of the KASan patches for ARM.
The main changes from the v10 version is:
- LPAE now compiles and works again, at least Versatile Express
Cortex A15 TC1 in QEMU (which is the LPAE system I have
access to).
- Rewrite some of the page directory initialization after
helpful feedback from Mike Rapoport and Russell King.
Also minor improvements to commit messages and comments
in the code so it is clear (for most cases I hope) why
some ifdefs etc are there.
All tested platforms from ARMv4 thru ARMv7 work fine. I
have not been able to re-test with the Qualcomm DragonBoard
APQ8060 yet, but I suspect the problem there is that the
DT parser code reaches out into non-kernel memory and
needs some de-instrumentation, possibly combined with the
memory holding the device tree getting corrupted or reused
before we have a chance to parse it.
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 | 32 ++
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 | 21 ++
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 | 288 ++++++++++++++++++
arch/arm/mm/mmu.c | 18 ++
arch/arm/mm/pgd.c | 16 +-
arch/arm/vdso/Makefile | 2 +
26 files changed, 551 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.25.4
More information about the linux-arm-kernel
mailing list