[PATCH 0/4] powerpc: KASAN for 64-bit Book3S on Radix
Daniel Axtens
dja at axtens.net
Fri Aug 16 14:11:28 AEST 2019
Christophe Leroy <christophe.leroy at 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
>>
More information about the Linuxppc-dev
mailing list