This is a revision of Chris and Jordan's series to introduce a per-cpu temporary mm to be used for patching with strict rwx on radix mmus.
v9: * Fixed patch series name to include "on Radix MMU" again * Renamed breakpoint functions * Introduce patch to gracefully return when patching not possible * Make book3s/32/tlbflush.h TLB page flush implementation a warning * Removed temp_mm_state * Consolidate patching context into single struct shared by both paths Previous versions: v8: https://lore.kernel.org/all/20221021052238.580986-1-bg...@linux.ibm.com/ v7: https://lore.kernel.org/all/20211110003717.1150965-1-jniet...@gmail.com/ v6: https://lore.kernel.org/all/20210911022904.30962-1-...@bluescreens.de/ v5: https://lore.kernel.org/all/20210713053113.4632-1-...@linux.ibm.com/ v4: https://lore.kernel.org/all/20210429072057.8870-1-...@bluescreens.de/ v3: https://lore.kernel.org/all/20200827052659.24922-1-...@codefail.de/ v2: https://lore.kernel.org/all/20200709040316.12789-1-...@informatik.wtf/ v1: https://lore.kernel.org/all/20200603051912.23296-1-...@informatik.wtf/ RFC: https://lore.kernel.org/all/20200323045205.20314-1-...@informatik.wtf/ x86: https://lore.kernel.org/kernel-hardening/20190426232303.28381-1-nadav.a...@gmail.com/ Benjamin Gray (7): powerpc: Allow clearing and restoring registers independent of saved breakpoint state powerpc/code-patching: Handle RWX patching initialisation error powerpc/code-patching: Use WARN_ON and fix check in poking_init powerpc/code-patching: Verify instruction patch succeeded powerpc/tlb: Add local flush for page given mm_struct and psize powerpc/code-patching: Use temporary mm for Radix MMU powerpc/code-patching: Consolidate and cache per-cpu patching context arch/powerpc/include/asm/book3s/32/tlbflush.h | 9 + .../include/asm/book3s/64/tlbflush-hash.h | 5 + arch/powerpc/include/asm/book3s/64/tlbflush.h | 8 + arch/powerpc/include/asm/debug.h | 2 + arch/powerpc/include/asm/nohash/tlbflush.h | 8 + arch/powerpc/kernel/process.c | 38 ++- arch/powerpc/lib/code-patching.c | 252 +++++++++++++++++- 7 files changed, 305 insertions(+), 17 deletions(-) base-commit: 9abf2313adc1ca1b6180c508c25f22f9395cc780 -- 2.37.3