Re: [PATCH] riscv: Fix text patching when icache flushes use IPIs

From: Björn Töpel
Date: Wed Feb 07 2024 - 02:31:08 EST


Alexandre Ghiti <alexghiti@xxxxxxxxxxxx> writes:

> For now, we use stop_machine() to patch the text and when we use IPIs for
> remote icache flushes, the system hangs since the irqs are disabled on all
> cpus.
>
> So instead, make sure every cpu executes the stop_machine() patching
> function which emits a local icache flush and then avoids the use of
> IPIs.
>
> Co-developed-by: Björn Töpel <bjorn@xxxxxxxxxxxx>
> Signed-off-by: Björn Töpel <bjorn@xxxxxxxxxxxx>
> Signed-off-by: Alexandre Ghiti <alexghiti@xxxxxxxxxxxx>

FWIW, the BPF selftests pass nicely with this (especially the
fentry/fexit tests ;-)). I don't know if it's worth much saying that
your own stuff was tested, but here goes:

Tested-by: Björn Töpel <bjorn@xxxxxxxxxxxx>