Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

selftests/bpf: test_verifier verbose causes erroneous failures

When running test_verifier with the -v flag and a test with
`expected_ret==VERBOSE_ACCEPT`, the opts.log_level is unintentionally
overwritten because the verbose flag takes precedence. This leads to
a mismatch in the expected and actual contents of bpf_vlog, causing
tests to fail incorrectly.

Reorder the conditional logic that sets opts.log_level to preserve
the expected log level and prevent it from being overridden by -v.

Signed-off-by: Gregory Bell <grbell@redhat.com>
Link: https://lore.kernel.org/r/182bf00474f817c99f968a9edb119882f62be0f8.1747058195.git.grbell@redhat.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>

authored by

Gregory Bell and committed by
Alexei Starovoitov
c5bcc8c7 7220eabf

+3 -3
+3 -3
tools/testing/selftests/bpf/test_verifier.c
··· 1559 1559 test->errstr_unpriv : test->errstr; 1560 1560 1561 1561 opts.expected_attach_type = test->expected_attach_type; 1562 - if (verbose) 1563 - opts.log_level = verif_log_level | 4; /* force stats */ 1564 - else if (expected_ret == VERBOSE_ACCEPT) 1562 + if (expected_ret == VERBOSE_ACCEPT) 1565 1563 opts.log_level = 2; 1564 + else if (verbose) 1565 + opts.log_level = verif_log_level | 4; /* force stats */ 1566 1566 else 1567 1567 opts.log_level = DEFAULT_LIBBPF_LOG_LEVEL; 1568 1568 opts.prog_flags = pflags;