selftests/bpf: Print reason when a tester could not run a program
Commit 8184d44c9a57 ("selftests/bpf: skip verifier tests for unsupported program types") added a check to skip unsupported program types. As bpf_probe_prog_type can change errno, do_single_test should save it before printing a reason why a supported BPF program type failed to load. Fixes: 8184d44c9a57 ("selftests/bpf: skip verifier tests for unsupported program types") Signed-off-by: Florian Lehner <dev@der-flo.net> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/bpf/20201204181828.11974-2-dev@der-flo.net
This commit is contained in:
parent
2fa3515cc0
commit
7d17167244
@ -936,6 +936,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv,
|
||||
int run_errs, run_successes;
|
||||
int map_fds[MAX_NR_MAPS];
|
||||
const char *expected_err;
|
||||
int saved_errno;
|
||||
int fixup_skips;
|
||||
__u32 pflags;
|
||||
int i, err;
|
||||
@ -997,6 +998,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv,
|
||||
}
|
||||
|
||||
fd_prog = bpf_load_program_xattr(&attr, bpf_vlog, sizeof(bpf_vlog));
|
||||
saved_errno = errno;
|
||||
|
||||
/* BPF_PROG_TYPE_TRACING requires more setup and
|
||||
* bpf_probe_prog_type won't give correct answer
|
||||
@ -1013,7 +1015,7 @@ static void do_test_single(struct bpf_test *test, bool unpriv,
|
||||
if (expected_ret == ACCEPT || expected_ret == VERBOSE_ACCEPT) {
|
||||
if (fd_prog < 0) {
|
||||
printf("FAIL\nFailed to load prog '%s'!\n",
|
||||
strerror(errno));
|
||||
strerror(saved_errno));
|
||||
goto fail_log;
|
||||
}
|
||||
#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS
|
||||
|
Loading…
x
Reference in New Issue
Block a user