Commit c52a1e6e authored by Eduard Zingerman's avatar Eduard Zingerman Committed by Alexei Starovoitov

selftests/bpf: match both retq/rethunk in verifier_tailcall_jit

Depending on kernel parameters, x86 jit generates either retq or jump
to rethunk for 'exit' instruction. The difference could be seen when
kernel is booted with and without mitigations=off parameter.
Relax the verifier_tailcall_jit test case to match both variants.

Fixes: e5bdd6a8 ("selftests/bpf: validate jit behaviour for tail calls")
Signed-off-by: default avatarEduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20240823080644.263943-3-eddyz87@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent ec1f77f6
......@@ -59,7 +59,7 @@ __jited(" movq -0x10(%rbp), %rax")
__jited(" callq 0x{{.*}}") /* call to sub() */
__jited(" xorl %eax, %eax")
__jited(" leave")
__jited(" retq")
__jited(" {{(retq|jmp 0x)}}") /* return or jump to rethunk */
__jited("...")
/* subprogram entry for sub(), regular function prologue */
__jited(" endbr64")
......@@ -89,7 +89,7 @@ __jited(" popq %rax")
__jited(" popq %rax")
__jited(" jmp {{.*}}") /* jump to tail call tgt */
__jited("L0: leave")
__jited(" retq")
__jited(" {{(retq|jmp 0x)}}") /* return or jump to rethunk */
SEC("tc")
__naked int main(void)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment