[PATCH v12 0/6] KASAN core changes for ppc64 radix KASAN

Daniel Axtens dja at axtens.net
Tue Jun 15 11:46:59 AEST 2021


Building on the work of Christophe, Aneesh and Balbir, I've ported
KASAN to 64-bit Book3S kernels running on the Radix MMU.

I've been trying this for a while, but we keep having collisions
between the kasan code in the mm tree and the code I want to put in to
the ppc tree. So my aim here is for patches 1 through 4 or 1 through 5
to go in via the mm tree. I will then propose the powerpc changes for
a later cycle. (I have attached them to this series as an RFC, and
there are still outstanding review comments I need to attend to.)

v12 applies to next-20210611. There should be no noticable changes to
other platforms.

Kind regards,
Daniel

Daniel Axtens (6):
  kasan: allow an architecture to disable inline instrumentation
  kasan: allow architectures to provide an outline readiness check
  kasan: define and use MAX_PTRS_PER_* for early shadow tables
  kasan: Document support on 32-bit powerpc
  powerpc/mm/kasan: rename kasan_init_32.c to init_32.c
  [RFC] powerpc: Book3S 64-bit outline-only KASAN support

 Documentation/dev-tools/kasan.rst             |  7 +-
 Documentation/powerpc/kasan.txt               | 58 +++++++++++
 arch/powerpc/Kconfig                          |  4 +-
 arch/powerpc/Kconfig.debug                    |  3 +-
 arch/powerpc/include/asm/book3s/64/hash.h     |  4 +
 arch/powerpc/include/asm/book3s/64/pgtable.h  |  4 +
 arch/powerpc/include/asm/book3s/64/radix.h    | 13 ++-
 arch/powerpc/include/asm/kasan.h              | 22 +++++
 arch/powerpc/kernel/Makefile                  | 11 +++
 arch/powerpc/kernel/process.c                 | 16 ++--
 arch/powerpc/kvm/Makefile                     |  5 +
 arch/powerpc/mm/book3s64/Makefile             |  9 ++
 arch/powerpc/mm/kasan/Makefile                |  3 +-
 .../mm/kasan/{kasan_init_32.c => init_32.c}   |  0
 arch/powerpc/mm/kasan/init_book3s_64.c        | 95 +++++++++++++++++++
 arch/powerpc/mm/ptdump/ptdump.c               | 20 +++-
 arch/powerpc/platforms/Kconfig.cputype        |  1 +
 arch/powerpc/platforms/powernv/Makefile       |  6 ++
 arch/powerpc/platforms/pseries/Makefile       |  3 +
 include/linux/kasan.h                         | 18 +++-
 lib/Kconfig.kasan                             | 14 +++
 mm/kasan/common.c                             |  4 +
 mm/kasan/generic.c                            |  3 +
 mm/kasan/init.c                               |  6 +-
 mm/kasan/kasan.h                              |  4 +
 mm/kasan/shadow.c                             |  4 +
 26 files changed, 316 insertions(+), 21 deletions(-)
 create mode 100644 Documentation/powerpc/kasan.txt
 rename arch/powerpc/mm/kasan/{kasan_init_32.c => init_32.c} (100%)
 create mode 100644 arch/powerpc/mm/kasan/init_book3s_64.c

-- 
2.27.0



More information about the Linuxppc-dev mailing list