Building on the work of Christophe, Aneesh and Balbir, I've ported KASAN to Book3S radix.
It builds on top Christophe's work on 32bit, and includes my work for 64-bit Book3E (3S doesn't really depend on 3E, but it was handy to have around when developing and debugging). This provides full inline instrumentation on radix, but does require that you be able to specify the amount of memory on the system at compile time. More details in patch 7. Regards, Daniel Daniel Axtens (7): kasan: do not open-code addr_has_shadow kasan: allow architectures to manage the memory-to-shadow mapping kasan: allow architectures to provide an outline readiness check powerpc: KASAN for 64bit Book3E kasan: allow arches to provide their own early shadow setup kasan: allow arches to hook into global registration powerpc: Book3S 64-bit "heavyweight" KASAN support arch/powerpc/Kconfig | 2 + arch/powerpc/Kconfig.debug | 17 ++- arch/powerpc/Makefile | 7 ++ arch/powerpc/include/asm/kasan.h | 116 +++++++++++++++++++ arch/powerpc/kernel/prom.c | 40 +++++++ arch/powerpc/mm/kasan/Makefile | 2 + arch/powerpc/mm/kasan/kasan_init_book3e_64.c | 50 ++++++++ arch/powerpc/mm/kasan/kasan_init_book3s_64.c | 67 +++++++++++ arch/powerpc/mm/nohash/Makefile | 5 + include/linux/kasan.h | 13 +++ mm/kasan/generic.c | 9 +- mm/kasan/generic_report.c | 2 +- mm/kasan/init.c | 10 ++ mm/kasan/kasan.h | 6 +- mm/kasan/report.c | 6 +- mm/kasan/tags.c | 3 +- 16 files changed, 345 insertions(+), 10 deletions(-) create mode 100644 arch/powerpc/mm/kasan/kasan_init_book3e_64.c create mode 100644 arch/powerpc/mm/kasan/kasan_init_book3s_64.c -- 2.19.1