Re: [PATCH -fixes] riscv: Fix RISCV_ALTERNATIVE_EARLY

From: Alexandre Ghiti
Date: Tue Aug 27 2024 - 05:13:29 EST


Hi Conor,

On 27/08/2024 10:38, Conor Dooley wrote:
On Mon, Aug 26, 2024 at 12:57:37PM +0200, Alexandre Ghiti wrote:
RISCV_ALTERNATIVE_EARLY will issue sbi_ecall() very early in the boot
process, before the first memory mapping is setup so we can't have any
instrumentation happening here.

In addition, when the kernel is relocatable, we must also not issue any
relocation this early since they would have been patched virtually only.

So, instead of disabling instrumentation for the whole kernel/sbi.c file
and compiling it with -fno-pie, simply move __sbi_ecall() and
__sbi_base_ecall() into their own file where this is fixed.
IOW, this should fix the issue that we discussed here
https://lore.kernel.org/linux-riscv/abec162e-f3f2-488c-83d9-be17257a5df8@xxxxxxxx/
also?


Yes, as a side effect it also fixes TRACEPOINTS + [KASAN|RELOCATABLE] as I reported in this thread since I moved the tracepoints in a file where instrumentation is disabled and compiled with no-pie.


I'm sorry I didn't get to test that yet, we had some pretty bad IT
issues in the office the last weeks and I have been avoiding going
there. I'll try to test this one instead..

_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv