]> git.baikalelectronics.ru Git - kernel.git/commit
tools/bpf: fix a test failure in selftests prog test_verifier
authorYonghong Song <yhs@fb.com>
Tue, 23 Jan 2018 06:10:59 +0000 (22:10 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Tue, 23 Jan 2018 16:36:09 +0000 (17:36 +0100)
commit5a1a86152f5603bbe18e765da7b8f65c22d0244f
treef42723351328ede4f89acf8b9f26f076b36822d0
parentf49313dfa7b14790a1353782767a0237f664ef18
tools/bpf: fix a test failure in selftests prog test_verifier

Commit 1dcb4d478ae6 ("selftests/bpf: make test_verifier run most programs")
enables tools/testing/selftests/bpf/test_verifier unit cases to run
via bpf_prog_test_run command. With the latest code base,
test_verifier had one test case failure:

  ...
  #473/p check deducing bounds from const, 2 FAIL retval 1 != 0
  0: (b7) r0 = 1
  1: (75) if r0 s>= 0x1 goto pc+1
   R0=inv1 R1=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  2: (95) exit

  from 1 to 3: R0=inv1 R1=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  3: (d5) if r0 s<= 0x1 goto pc+1
   R0=inv1 R1=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  4: (95) exit

  from 3 to 5: R0=inv1 R1=ctx(id=0,off=0,imm=0) R10=fp0,call_-1
  5: (1f) r1 -= r0
  6: (95) exit
  processed 7 insns (limit 131072), stack depth 0
  ...

The test case does not set return value in the test
structure and hence the return value from the prog run
is assumed to be 0. However, the actual return value is 1.
As a result, the test failed. The fix is to correctly set
the return value in the test structure.

Fixes: 1dcb4d478ae6 ("selftests/bpf: make test_verifier run most programs")
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_verifier.c