mirror of
https://github.com/netdata/libbpf.git
synced 2026-04-04 23:59:07 +08:00
vmtest: add s390x blacklist
A lot of tests in test_progs fail due to the missing trampoline implementation on s390x (and a handful for other reasons). Yet, a lot more pass, so disabling test_progs altogether is too heavy-handed. So add a mechanism for arch-specific blacklists (as discussed in [1]) and introduce a s390x blacklist, that simply reflects the status quo. [1] https://github.com/libbpf/libbpf/pull/204#discussion_r601768628 Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
This commit is contained in:
committed by
Andrii Nakryiko
parent
554054d876
commit
3b1714aa92
@@ -37,6 +37,6 @@ cd ${LIBBPF_PATH}
|
|||||||
rm selftests/bpf/.gitignore
|
rm selftests/bpf/.gitignore
|
||||||
git add selftests
|
git add selftests
|
||||||
|
|
||||||
git add "${VMTEST_ROOT}/configs/blacklist"
|
git add "${VMTEST_ROOT}"/configs/blacklist/BLACKLIST-* "${VMTEST_ROOT}"/configs/whitelist/WHITELIST-*
|
||||||
|
|
||||||
travis_fold end prepare_selftests
|
travis_fold end prepare_selftests
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
# This file is not used and is there for historic purposes only.
|
||||||
|
# See WHITELIST-5.5.0 instead.
|
||||||
|
|
||||||
# PERMANENTLY DISABLED
|
# PERMANENTLY DISABLED
|
||||||
align # verifier output format changed
|
align # verifier output format changed
|
||||||
atomics # new atomic operations (v5.12+)
|
atomics # new atomic operations (v5.12+)
|
||||||
|
|||||||
52
travis-ci/vmtest/configs/blacklist/BLACKLIST-latest.s390x
Normal file
52
travis-ci/vmtest/configs/blacklist/BLACKLIST-latest.s390x
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
# TEMPORARY
|
||||||
|
atomics # attach(add): actual -524 <= expected 0 (trampoline)
|
||||||
|
bpf_iter_setsockopt # JIT does not support calling kernel function (kfunc)
|
||||||
|
bloom_filter_map # failed to find kernel BTF type ID of '__x64_sys_getpgid': -3 (?)
|
||||||
|
bpf_tcp_ca # JIT does not support calling kernel function (kfunc)
|
||||||
|
core_read_macros # unknown func bpf_probe_read#4 (overlapping)
|
||||||
|
d_path # failed to auto-attach program 'prog_stat': -524 (trampoline)
|
||||||
|
dummy_st_ops # test_run unexpected error: -524 (errno 524) (trampoline)
|
||||||
|
fentry_fexit # fentry attach failed: -524 (trampoline)
|
||||||
|
fentry_test # fentry_first_attach unexpected error: -524 (trampoline)
|
||||||
|
fexit_bpf2bpf # freplace_attach_trace unexpected error: -524 (trampoline)
|
||||||
|
fexit_sleep # fexit_skel_load fexit skeleton failed (trampoline)
|
||||||
|
fexit_stress # fexit attach failed prog 0 failed: -524 (trampoline)
|
||||||
|
fexit_test # fexit_first_attach unexpected error: -524 (trampoline)
|
||||||
|
get_func_ip_test # get_func_ip_test__attach unexpected error: -524 (trampoline)
|
||||||
|
get_stack_raw_tp # user_stack corrupted user stack (no backchain userspace)
|
||||||
|
kfree_skb # attach fentry unexpected error: -524 (trampoline)
|
||||||
|
kfunc_call # 'bpf_prog_active': not found in kernel BTF (?)
|
||||||
|
ksyms_module # test_ksyms_module__open_and_load unexpected error: -9 (?)
|
||||||
|
ksyms_module_libbpf # JIT does not support calling kernel function (kfunc)
|
||||||
|
ksyms_module_lskel # test_ksyms_module_lskel__open_and_load unexpected error: -9 (?)
|
||||||
|
modify_return # modify_return attach failed: -524 (trampoline)
|
||||||
|
module_attach # skel_attach skeleton attach failed: -524 (trampoline)
|
||||||
|
netcnt # failed to load BPF skeleton 'netcnt_prog': -7 (?)
|
||||||
|
probe_user # check_kprobe_res wrong kprobe res from probe read (?)
|
||||||
|
recursion # skel_attach unexpected error: -524 (trampoline)
|
||||||
|
ringbuf # skel_load skeleton load failed (?)
|
||||||
|
sk_assign # Can't read on server: Invalid argument (?)
|
||||||
|
sk_storage_tracing # test_sk_storage_tracing__attach unexpected error: -524 (trampoline)
|
||||||
|
skc_to_unix_sock # could not attach BPF object unexpected error: -524 (trampoline)
|
||||||
|
socket_cookie # prog_attach unexpected error: -524 (trampoline)
|
||||||
|
stacktrace_build_id # compare_map_keys stackid_hmap vs. stackmap err -2 errno 2 (?)
|
||||||
|
tailcalls # tail_calls are not allowed in non-JITed programs with bpf-to-bpf calls (?)
|
||||||
|
task_local_storage # failed to auto-attach program 'trace_exit_creds': -524 (trampoline)
|
||||||
|
test_bpffs # bpffs test failed 255 (iterator)
|
||||||
|
test_bprm_opts # failed to auto-attach program 'secure_exec': -524 (trampoline)
|
||||||
|
test_ima # failed to auto-attach program 'ima': -524 (trampoline)
|
||||||
|
test_local_storage # failed to auto-attach program 'unlink_hook': -524 (trampoline)
|
||||||
|
test_lsm # failed to find kernel BTF type ID of '__x64_sys_setdomainname': -3 (?)
|
||||||
|
test_overhead # attach_fentry unexpected error: -524 (trampoline)
|
||||||
|
test_profiler # unknown func bpf_probe_read_str#45 (overlapping)
|
||||||
|
timer # failed to auto-attach program 'test1': -524 (trampoline)
|
||||||
|
timer_mim # failed to auto-attach program 'test1': -524 (trampoline)
|
||||||
|
trace_ext # failed to auto-attach program 'test_pkt_md_access_new': -524 (trampoline)
|
||||||
|
trace_printk # trace_printk__load unexpected error: -2 (errno 2) (?)
|
||||||
|
trace_vprintk # trace_vprintk__open_and_load unexpected error: -9 (?)
|
||||||
|
trampoline_count # prog 'prog1': failed to attach: ERROR: strerror_r(-524)=22 (trampoline)
|
||||||
|
verif_stats # trace_vprintk__open_and_load unexpected error: -9 (?)
|
||||||
|
vmlinux # failed to auto-attach program 'handle__fentry': -524 (trampoline)
|
||||||
|
xdp_adjust_tail # case-128 err 0 errno 28 retval 1 size 128 expect-size 3520 (?)
|
||||||
|
xdp_bonding # failed to auto-attach program 'trace_on_entry': -524 (trampoline)
|
||||||
|
xdp_bpf2bpf # failed to auto-attach program 'trace_on_entry': -524 (trampoline)
|
||||||
@@ -4,6 +4,14 @@ set -euo pipefail
|
|||||||
|
|
||||||
source $(cd $(dirname $0) && pwd)/helpers.sh
|
source $(cd $(dirname $0) && pwd)/helpers.sh
|
||||||
|
|
||||||
|
read_lists() {
|
||||||
|
(for path in "$@"; do
|
||||||
|
if [[ -s "$path" ]]; then
|
||||||
|
cat "$path"
|
||||||
|
fi;
|
||||||
|
done) | cut -d'#' -f1 | tr -s ' \t\n' ','
|
||||||
|
}
|
||||||
|
|
||||||
test_progs() {
|
test_progs() {
|
||||||
if [[ "${KERNEL}" != '4.9.0' ]]; then
|
if [[ "${KERNEL}" != '4.9.0' ]]; then
|
||||||
travis_fold start test_progs "Testing test_progs"
|
travis_fold start test_progs "Testing test_progs"
|
||||||
@@ -30,16 +38,9 @@ test_verifier() {
|
|||||||
|
|
||||||
travis_fold end vm_init
|
travis_fold end vm_init
|
||||||
|
|
||||||
configs_path='libbpf/travis-ci/vmtest/configs'
|
configs_path=libbpf/travis-ci/vmtest/configs
|
||||||
blacklist_path="$configs_path/blacklist/BLACKLIST-${KERNEL}"
|
BLACKLIST=$(read_lists "$configs_path/blacklist/BLACKLIST-${KERNEL}" "$configs_path/blacklist/BLACKLIST-${KERNEL}.${ARCH}")
|
||||||
if [[ -s "${blacklist_path}" ]]; then
|
WHITELIST=$(read_lists "$configs_path/whitelist/WHITELIST-${KERNEL}" "$configs_path/whitelist/WHITELIST-${KERNEL}.${ARCH}")
|
||||||
BLACKLIST=$(cat "${blacklist_path}" | cut -d'#' -f1 | tr -s '[:space:]' ',')
|
|
||||||
fi
|
|
||||||
|
|
||||||
whitelist_path="$configs_path/whitelist/WHITELIST-${KERNEL}"
|
|
||||||
if [[ -s "${whitelist_path}" ]]; then
|
|
||||||
WHITELIST=$(cat "${whitelist_path}" | cut -d'#' -f1 | tr -s '[:space:]' ',')
|
|
||||||
fi
|
|
||||||
|
|
||||||
cd libbpf/selftests/bpf
|
cd libbpf/selftests/bpf
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user