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

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.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent ec1f77f6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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)
{