mbox series

[bpf-next,0/3] follow up for __jited test tag

Message ID 20240823080644.263943-1-eddyz87@gmail.com (mailing list archive)
Headers show
Series follow up for __jited test tag | expand

Message

Eduard Zingerman Aug. 23, 2024, 8:06 a.m. UTC
This patch-set is a collection of follow-ups for
"__jited test tag to check disassembly after jit" series (see [1]).

First patch is most important:
as it turns out, I broke all test_loader based tests for s390 CI.
E.g. see log [2] for s390 execution of test_progs,
note all 'verivier_*' tests being skipped.
This happens because of incorrect handling of corner case when
get_current_arch() does not know which architecture to return.

Second patch makes matching of function return sequence in
verifier_tailcall_jit more flexible:

    -__jited("	retq")
    +__jited("	{{(retq|jmp	0x)}}")

The difference could be seen with and w/o mitigations=off boot
parameter for test VM (CI runs with mitigations=off, hence it
generates retq).

Third patch addresses Alexei's request to add #define and a comment in
jit_disasm_helpers.c.

[1] https://lore.kernel.org/bpf/20240820102357.3372779-1-eddyz87@gmail.com/
[2] https://github.com/kernel-patches/bpf/actions/runs/10518445973/job/29144511595

Eduard Zingerman (3):
  selftests/bpf: test_loader.c:get_current_arch() should not return 0
  selftests/bpf: match both retq/rethunk in verifier_tailcall_jit
  selftests/bpf: #define LOCAL_LABEL_LEN for jit_disasm_helpers.c

 .../testing/selftests/bpf/jit_disasm_helpers.c  | 17 ++++++++++++++---
 .../selftests/bpf/progs/verifier_tailcall_jit.c |  4 ++--
 tools/testing/selftests/bpf/test_loader.c       |  9 +++++----
 3 files changed, 21 insertions(+), 9 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Aug. 23, 2024, 2:40 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Fri, 23 Aug 2024 01:06:41 -0700 you wrote:
> This patch-set is a collection of follow-ups for
> "__jited test tag to check disassembly after jit" series (see [1]).
> 
> First patch is most important:
> as it turns out, I broke all test_loader based tests for s390 CI.
> E.g. see log [2] for s390 execution of test_progs,
> note all 'verivier_*' tests being skipped.
> This happens because of incorrect handling of corner case when
> get_current_arch() does not know which architecture to return.
> 
> [...]

Here is the summary with links:
  - [bpf-next,1/3] selftests/bpf: test_loader.c:get_current_arch() should not return 0
    https://git.kernel.org/bpf/bpf-next/c/ec1f77f6557b
  - [bpf-next,2/3] selftests/bpf: match both retq/rethunk in verifier_tailcall_jit
    https://git.kernel.org/bpf/bpf-next/c/c52a1e6eb74f
  - [bpf-next,3/3] selftests/bpf: #define LOCAL_LABEL_LEN for jit_disasm_helpers.c
    https://git.kernel.org/bpf/bpf-next/c/21a56fc503fa

You are awesome, thank you!