patch 1 removes a useless memory barrier and patch 2 actually fixes the issue with IPI in the patching code.
Changes in v3: - Remove wrong cleanup as noted by Samuel - Enhance comment about usage of release semantics as suggested by Andrea - Add RBs from Andrea Changes in v2: - Add patch 1 and then remove the memory barrier from patch 2 as suggested by Andrea - Convert atomic_inc into an atomic_inc with release semantics as suggested by Andrea Alexandre Ghiti (2): riscv: Remove superfluous smp_mb() riscv: Fix text patching when IPI are used arch/riscv/include/asm/patch.h | 1 + arch/riscv/kernel/ftrace.c | 44 ++++++++++++++++++++++++++++++---- arch/riscv/kernel/patch.c | 17 +++++++++---- 3 files changed, 53 insertions(+), 9 deletions(-) -- 2.39.2