Le 06/02/2023 à 03:17, Rohan McLure a écrit : > Add Kernel Concurrency Sanitiser support for PPC64. Doing so involves > exclusion of a number of compilation units from instrumentation, as was > done with KASAN. > > KCSAN uses watchpoints on memory accesses to enforce the semantics of > the Linux kernel memory model, notifying the user of observed data races > which have not been declared to be intended in source through the > data_race() macro, in order to remove false positives. > > A number of such race conditions are identified. This patch series > provides support for the instrumentation, with bug fixes as well as > removal of false positives to be issued in future patches. > > v3: Restrict support to PPC64 as kcsan code expects support for > __atomic* builtins for 64-bit atomic types.
I see no reason to drop support for PPC32. See commit 725aea873261 ("xtensa: enable KCSAN") xtensa is a 32 bits architecture, they have implemented stubs for 64-bit atomics. Maybe those stubs should be made generic by moving them into kernel/kcsan/ and building them for all 32 bit architectures. Christophe > > v2: Implement __smp_mb() in terms of __mb() to avoid multiple calls to > kcsan_mb(). > Link: > https://lore.kernel.org/linuxppc-dev/20230201043438.1301212-4-rmcl...@linux.ibm.com/ > > v1: > https://lore.kernel.org/linuxppc-dev/20230131234859.1275125-1-rmcl...@linux.ibm.com/ > > Rohan McLure (5): > powerpc: kcsan: Add exclusions from instrumentation > powerpc: kcsan: Exclude udelay to prevent recursive instrumentation > powerpc: kcsan: Memory barriers semantics > powerpc: kcsan: Prevent recursive instrumentation with IRQ > save/restores > powerpc: kcsan: Add KCSAN Support > > arch/powerpc/Kconfig | 1 + > arch/powerpc/include/asm/barrier.h | 12 ++++++------ > arch/powerpc/kernel/Makefile | 10 ++++++++++ > arch/powerpc/kernel/irq_64.c | 6 +++--- > arch/powerpc/kernel/time.c | 4 ++-- > arch/powerpc/kernel/trace/Makefile | 1 + > arch/powerpc/kernel/vdso/Makefile | 1 + > arch/powerpc/lib/Makefile | 2 ++ > arch/powerpc/purgatory/Makefile | 1 + > arch/powerpc/xmon/Makefile | 1 + > 10 files changed, 28 insertions(+), 11 deletions(-) >