Re: [PATCH 0/5] riscv: SCS support

From: Sami Tolvanen
Date: Mon Aug 14 2023 - 14:35:11 EST


On Mon, Aug 14, 2023 at 10:59 AM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
> I took this series for a spin on top of 6.5-rc6 with both LLVM 18 (built
> within the past couple of days) and LLVM 17.0.0-rc2 but it seems that
> the CFI_BACKWARDS LKDTM test does not pass with
> CONFIG_SHADOW_CALL_STACK=y.
>
> [ 73.324652] lkdtm: Performing direct entry CFI_BACKWARD
> [ 73.324900] lkdtm: Attempting unchecked stack return address redirection ...
> [ 73.325178] lkdtm: Eek: return address mismatch! 0000000000000002 != ffffffff80614982
> [ 73.325478] lkdtm: FAIL: stack return address manipulation failed!
>
> Does the test need to be adjusted or is there some other issue?

The test doesn't work on RISC-V. set_return_addr_unchecked thinks 0x2
is the return address, so I assume the __builtin_frame_address logic
isn't quite right here. Kees, any thoughts?

Sami