[PATCH v2 0/6] KASAN support for 64-bit Book 3S powerpc

Christophe Leroy christophe.leroy at csgroup.eu
Wed May 18 23:29:52 AEST 2022



Le 18/05/2022 à 12:03, Paul Mackerras a écrit :
> This patch series implements KASAN on 64-bit POWER with radix MMU,
> such as POWER9 or POWER10.  Daniel Axtens posted previous versions of
> these patches, but is no longer working on KASAN, and I have been
> asked to get them ready for inclusion.
> 
> Because of various technical difficulties, mostly around the need to
> allow for code that runs in real mode, we only support "outline" mode
> (as opposed to "inline" mode), where the compiler adds a call to
> a checking procedure before every store to memory.
> 
> This series has known deficiencies, specifically that the kernel will
> crash on boot on a HPT system, and that out-of-bounds accesses to
> module global data are not caught (which leads to one of the KASAN
> tests failing).
> 
> v2: Split the large patch 3/3 of the previous series into three
> patches and addressed review comments; put the generic documentation
> changes in a separate patch at the end of the series; removed the RFC
> tag.
> 
> Comments welcome.

The series looks good to me.

Maybe patch 3 should go after patches 4 and 5 which are preparation patches.

Christophe

> 
> Paul.
> 
>   Documentation/dev-tools/kasan.rst                  |   7 +-
>   Documentation/powerpc/kasan.txt                    |  58 ++++++++++++
>   arch/powerpc/Kconfig                               |   5 +-
>   arch/powerpc/Kconfig.debug                         |   3 +-
>   arch/powerpc/include/asm/book3s/64/hash.h          |   4 +
>   arch/powerpc/include/asm/book3s/64/pgtable.h       |   3 +
>   arch/powerpc/include/asm/book3s/64/radix.h         |  12 ++-
>   arch/powerpc/include/asm/interrupt.h               |  52 ++++++++---
>   arch/powerpc/include/asm/kasan.h                   |  22 +++++
>   arch/powerpc/kernel/Makefile                       |  11 +++
>   arch/powerpc/kernel/smp.c                          |  22 ++---
>   arch/powerpc/kernel/traps.c                        |   6 +-
>   arch/powerpc/kexec/Makefile                        |   2 +
>   arch/powerpc/kvm/Makefile                          |   5 +
>   arch/powerpc/lib/Makefile                          |   3 +
>   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             | 103 +++++++++++++++++++++
>   arch/powerpc/mm/ptdump/ptdump.c                    |   3 +-
>   arch/powerpc/platforms/Kconfig.cputype             |   1 +
>   arch/powerpc/platforms/powernv/Makefile            |   8 ++
>   arch/powerpc/platforms/powernv/smp.c               |   2 +-
>   arch/powerpc/platforms/pseries/Makefile            |   6 ++
>   arch/powerpc/sysdev/xics/xics-common.c             |   4 +-
>   arch/powerpc/sysdev/xive/common.c                  |   4 +-
>   26 files changed, 320 insertions(+), 38 deletions(-)


More information about the Linuxppc-dev mailing list