Commit c5bcc8c7 authored by Gregory Bell's avatar Gregory Bell Committed by Alexei Starovoitov
Browse files

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: default avatarGregory Bell <grbell@redhat.com>
Link: https://lore.kernel.org/r/182bf00474f817c99f968a9edb119882f62be0f8.1747058195.git.grbell@redhat.com


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent 7220eabf
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1559,10 +1559,10 @@ static void do_test_single(struct bpf_test *test, bool unpriv,
		       test->errstr_unpriv : test->errstr;

	opts.expected_attach_type = test->expected_attach_type;
	if (verbose)
		opts.log_level = verif_log_level | 4; /* force stats */
	else if (expected_ret == VERBOSE_ACCEPT)
	if (expected_ret == VERBOSE_ACCEPT)
		opts.log_level = 2;
	else if (verbose)
		opts.log_level = verif_log_level | 4; /* force stats */
	else
		opts.log_level = DEFAULT_LIBBPF_LOG_LEVEL;
	opts.prog_flags = pflags;