Christophe Leroy <christophe.le...@c-s.fr> writes: > Le 07/08/2019 à 01:38, Daniel Axtens a écrit : >> Building on the work of Christophe, Aneesh and Balbir, I've ported >> KASAN to 64-bit Book3S kernels running on the Radix MMU. >> >> It builds on top Christophe's work on 32bit. It also builds on my >> generic KASAN_VMALLOC series, available at: >> https://patchwork.kernel.org/project/linux-mm/list/?series=153209 > > Would be good to send that one to the powerpc list as well. >
Done for v4. >> >> 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 4. >> >> Notable changes from the RFC: >> >> - I've dropped Book3E 64-bit for now. >> >> - Now instead of hacking into the KASAN core to disable module >> allocations, we use KASAN_VMALLOC. >> >> - More testing, including on real hardware. This revealed that >> discontiguous memory is a bit of a headache, at the moment we >> must disable memory not contiguous from 0. >> >> - Update to deal with kasan bitops instrumentation that landed >> between RFC and now. > > This is rather independant and also applies to PPC32. Could it be a > separate series that Michael could apply earlier ? > Will do this and address your feedback on the rest of the series later. Regards, Daniel > Christophe > >> >> - Documentation! >> >> - Various cleanups and tweaks. >> >> I am getting occasional problems on boot of real hardware where it >> seems vmalloc space mappings don't get installed in time. (We get a >> BUG that memory is not accessible, but by the time we hit xmon the >> memory then is accessible!) It happens once every few boots. I haven't >> yet been able to figure out what is happening and why. I'm going to >> look in to it, but I think the patches are in good enough shape to >> review while I work on it. >> >> Regards, >> Daniel >> >> Daniel Axtens (4): >> kasan: allow arches to provide their own early shadow setup >> kasan: support instrumented bitops with generic non-atomic bitops >> powerpc: support KASAN instrumentation of bitops >> powerpc: Book3S 64-bit "heavyweight" KASAN support >> >> Documentation/dev-tools/kasan.rst | 7 +- >> Documentation/powerpc/kasan.txt | 111 ++++++++++++++ >> arch/powerpc/Kconfig | 4 + >> arch/powerpc/Kconfig.debug | 21 +++ >> arch/powerpc/Makefile | 7 + >> arch/powerpc/include/asm/bitops.h | 25 ++-- >> arch/powerpc/include/asm/book3s/64/radix.h | 5 + >> arch/powerpc/include/asm/kasan.h | 35 ++++- >> arch/powerpc/kernel/process.c | 8 ++ >> arch/powerpc/kernel/prom.c | 57 +++++++- >> arch/powerpc/mm/kasan/Makefile | 1 + >> arch/powerpc/mm/kasan/kasan_init_book3s_64.c | 76 ++++++++++ >> include/asm-generic/bitops-instrumented.h | 144 ++++++++++--------- >> include/linux/kasan.h | 2 + >> lib/Kconfig.kasan | 3 + >> mm/kasan/init.c | 10 ++ >> 16 files changed, 431 insertions(+), 85 deletions(-) >> create mode 100644 Documentation/powerpc/kasan.txt >> create mode 100644 arch/powerpc/mm/kasan/kasan_init_book3s_64.c >>