diff mbox series

[bpf-next] selftests/bpf: enable tc verbose mode for test_sk_assign

Message ID 20200824222807.100200-1-yhs@fb.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] selftests/bpf: enable tc verbose mode for test_sk_assign | expand

Commit Message

Yonghong Song Aug. 24, 2020, 10:28 p.m. UTC
Currently test_sk_assign failed verifier with llvm11/llvm12.
During debugging, I found the default verifier output is
truncated like below
  Verifier analysis:

  Skipped 2200 bytes, use 'verb' option for the full verbose log.
  [...]
  off=23,r=34,imm=0) R5=inv0 R6=ctx(id=0,off=0,imm=0) R7=pkt(id=0,off=0,r=34,imm=0) R10=fp0
  80: (0f) r7 += r2
  last_idx 80 first_idx 21
  regs=4 stack=0 before 78: (16) if w3 == 0x11 goto pc+1
when I am using "./test_progs -vv -t assign".

The reason is tc verbose mode is not enabled.

This patched enabled tc verbose mode and the output looks like below
  Verifier analysis:

  0: (bf) r6 = r1
  1: (b4) w0 = 2
  2: (61) r1 = *(u32 *)(r6 +80)
  3: (61) r7 = *(u32 *)(r6 +76)
  4: (bf) r2 = r7
  5: (07) r2 += 14
  6: (2d) if r2 > r1 goto pc+61
   R0_w=inv2 R1_w=pkt_end(id=0,off=0,imm=0) R2_w=pkt(id=0,off=14,r=14,imm=0)
  ...

Signed-off-by: Yonghong Song <yhs@fb.com>
---
 tools/testing/selftests/bpf/prog_tests/sk_assign.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexei Starovoitov Aug. 25, 2020, 4:18 a.m. UTC | #1
On Mon, Aug 24, 2020 at 3:28 PM Yonghong Song <yhs@fb.com> wrote:
>
> Currently test_sk_assign failed verifier with llvm11/llvm12.
> During debugging, I found the default verifier output is
> truncated like below
>   Verifier analysis:
>
>   Skipped 2200 bytes, use 'verb' option for the full verbose log.
>   [...]
>   off=23,r=34,imm=0) R5=inv0 R6=ctx(id=0,off=0,imm=0) R7=pkt(id=0,off=0,r=34,imm=0) R10=fp0
>   80: (0f) r7 += r2
>   last_idx 80 first_idx 21
>   regs=4 stack=0 before 78: (16) if w3 == 0x11 goto pc+1
> when I am using "./test_progs -vv -t assign".
>
> The reason is tc verbose mode is not enabled.
>
> This patched enabled tc verbose mode and the output looks like below
>   Verifier analysis:
>
>   0: (bf) r6 = r1
>   1: (b4) w0 = 2
>   2: (61) r1 = *(u32 *)(r6 +80)
>   3: (61) r7 = *(u32 *)(r6 +76)
>   4: (bf) r2 = r7
>   5: (07) r2 += 14
>   6: (2d) if r2 > r1 goto pc+61
>    R0_w=inv2 R1_w=pkt_end(id=0,off=0,imm=0) R2_w=pkt(id=0,off=14,r=14,imm=0)
>   ...
>
> Signed-off-by: Yonghong Song <yhs@fb.com>

Applied. Thanks
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/prog_tests/sk_assign.c b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
index d43038d2b9e1..a49a26f95a8b 100644
--- a/tools/testing/selftests/bpf/prog_tests/sk_assign.c
+++ b/tools/testing/selftests/bpf/prog_tests/sk_assign.c
@@ -49,7 +49,7 @@  configure_stack(void)
 	sprintf(tc_cmd, "%s %s %s %s", "tc filter add dev lo ingress bpf",
 		       "direct-action object-file ./test_sk_assign.o",
 		       "section classifier/sk_assign_test",
-		       (env.verbosity < VERBOSE_VERY) ? " 2>/dev/null" : "");
+		       (env.verbosity < VERBOSE_VERY) ? " 2>/dev/null" : "verbose");
 	if (CHECK(system(tc_cmd), "BPF load failed;",
 		  "run with -vv for more info\n"))
 		return false;