]> 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)
commit2c8acb2b0b87a75b461b600973fc20fec8ae7c7e
treef42723351328ede4f89acf8b9f26f076b36822d0
parentcc512e97ed989679a647a908df7147b90a6fb897
tools/bpf: fix a test failure in selftests prog test_verifier

Commit eab95f49fbda ("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: eab95f49fbda ("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