|
|
Subscribe / Log in / New account

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


Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds