[PATCH bpf-next v1] selftests/bpf: Test jited inline of bpf_get_smp_processor_id() for RISC-V

From: Tiezhu Yang

Date: Wed Jul 22 2026 - 03:05:37 EST


Add the JITed inline instruction of bpf_get_smp_processor_id() for RISC-V
to pass the test case.

On RISC-V, the 'cpu' field of 'struct thread_info' resides at offset 0x20,
BPF_REG_0 maps to the a5 register, and the thread pointer (tp) is used as
the base address. Therefore, the JIT compiler emits "lw a5, 0x20(tp)" to
optimize this helper call.

Tested on a RISC-V virtual machine.

Before:
$ sudo ./test_progs -t verifier_jit_inline
#610/1 verifier_jit_inline/inline_bpf_get_current_task:OK
#610/2 verifier_jit_inline/inline_bpf_get_smp_processor_id:SKIP
#610 verifier_jit_inline:OK (SKIP: 1/2)
Summary: 1/1 PASSED, 1 SKIPPED, 0 FAILED

After:
$ sudo ./test_progs -t verifier_jit_inline
#610/1 verifier_jit_inline/inline_bpf_get_current_task:OK
#610/2 verifier_jit_inline/inline_bpf_get_smp_processor_id:OK
#610 verifier_jit_inline:OK
Summary: 1/2 PASSED, 0 SKIPPED, 0 FAILED

Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
---
tools/testing/selftests/bpf/progs/verifier_jit_inline.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
index 02e562f56f9d..c696baa5364b 100644
--- a/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
+++ b/tools/testing/selftests/bpf/progs/verifier_jit_inline.c
@@ -25,6 +25,8 @@ SEC("fentry/bpf_fentry_test2")
__success __retval(0)
__arch_loongarch
__jited(" ld.wu $a5, $tp, 16")
+__arch_riscv64
+__jited(" lw a5, 0x20(tp)")
int inline_bpf_get_smp_processor_id(void)
{
bpf_get_smp_processor_id();
--
2.42.0