KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef 2018-04-13 12:59:42 ln -sf /usr/bin/gcc-5 /usr/bin/gcc 2018-04-13 12:59:43 ln -sf /usr/bin/clang-7 /usr/bin/clang 2018-04-13 12:59:45 ln -sf /usr/bin/llc-7 /usr/bin/llc 2018-04-13 12:59:45 make run_tests -C android make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/android' make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/android/ion' gcc -I. -I../../../../../drivers/staging/android/uapi/ -Wall -O2 -g ionapp_export.c ipcsocket.c ionutils.c -o ionapp_export ionapp_export.c: In function ‘main’: ionapp_export.c:91:2: warning: ‘heap_type’ may be used uninitialized in this function [-Wmaybe-uninitialized] printf("heap_type: %ld, heap_size: %ld\n", heap_type, heap_size); ^ gcc -I. -I../../../../../drivers/staging/android/uapi/ -Wall -O2 -g ionapp_import.c ipcsocket.c ionutils.c -o ionapp_import make[1]: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/android/ion' ion_test.sh: No /dev/ion device found ion_test.sh: May be CONFIG_ION is not set make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/android' 2018-04-13 12:59:50 make run_tests -C bpf make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf' gcc -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/urandom_read -static urandom_read.c make -C ../../../lib/bpf OUTPUT=/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/ make[1]: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/lib/bpf' Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] HOSTCC /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/fixdep.o HOSTLD /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/fixdep-in.o LINK /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/fixdep Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h' Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h' CC /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.o CC /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/bpf.o CC /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/nlattr.o LD /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf-in.o LINK /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a LINK /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.so make[1]: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/lib/bpf' gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_verifier.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_verifier gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_tag.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_tag gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_maps.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_maps gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_lru_map.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_lru_map gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_lpm_map.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_lpm_map gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_progs.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_progs gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_align.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_align gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_verifier_log.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_verifier_log gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_dev_cgroup.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a cgroup_helpers.c -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_dev_cgroup gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_tcpbpf_user.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_tcpbpf_user gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_sock.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a cgroup_helpers.c -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_sock gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_sock_addr.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a cgroup_helpers.c -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_sock_addr gcc -Wall -O2 -I../../../include/uapi -I../../../lib -I../../../../include/generated -I../../../include test_libbpf_open.c /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/libbpf.a -lcap -lelf -lrt -lpthread -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_libbpf_open clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_pkt_access.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_pkt_access.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_xdp.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_xdp.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_l4lb.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_l4lb.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_tcp_estats.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_tcp_estats.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_obj_id.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_obj_id.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_pkt_md_access.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_pkt_md_access.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_xdp_redirect.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_xdp_redirect.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_xdp_meta.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_xdp_meta.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c sockmap_parse_prog.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/sockmap_parse_prog.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c sockmap_verdict_prog.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/sockmap_verdict_prog.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c dev_cgroup.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/dev_cgroup.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c sample_ret0.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/sample_ret0.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_tracepoint.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_tracepoint.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types -fno-inline \ -O2 -target bpf -emit-llvm -c test_l4lb_noinline.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_l4lb_noinline.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types -fno-inline \ -O2 -target bpf -emit-llvm -c test_xdp_noinline.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_xdp_noinline.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_stacktrace_map.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_stacktrace_map.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c sample_map_ret0.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/sample_map_ret0.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_tcpbpf_kern.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_tcpbpf_kern.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c test_stacktrace_build_id.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/test_stacktrace_build_id.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c sockmap_tcp_msg_prog.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/sockmap_tcp_msg_prog.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c connect4_prog.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/connect4_prog.o clang -I. -I./include/uapi -I../../../include/uapi -Wno-compare-distinct-pointer-types \ -O2 -target bpf -emit-llvm -c connect6_prog.c -o - | \ llc -march=bpf -mcpu=probe -filetype=obj -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf/connect6_prog.o TAP version 13 selftests: test_verifier ======================================== #0/u add+sub+mul OK #0/p add+sub+mul OK #1/u DIV32 by 0, zero check 1 OK #1/p DIV32 by 0, zero check 1 OK #2/u DIV32 by 0, zero check 2 OK #2/p DIV32 by 0, zero check 2 OK #3/u DIV64 by 0, zero check OK #3/p DIV64 by 0, zero check OK #4/u MOD32 by 0, zero check 1 OK #4/p MOD32 by 0, zero check 1 OK #5/u MOD32 by 0, zero check 2 OK #5/p MOD32 by 0, zero check 2 OK #6/u MOD64 by 0, zero check OK #6/p MOD64 by 0, zero check OK #7/p DIV32 by 0, zero check ok, cls OK #8/p DIV32 by 0, zero check 1, cls OK #9/p DIV32 by 0, zero check 2, cls OK #10/p DIV64 by 0, zero check, cls OK #11/p MOD32 by 0, zero check ok, cls OK #12/p MOD32 by 0, zero check 1, cls OK #13/p MOD32 by 0, zero check 2, cls OK #14/p MOD64 by 0, zero check 1, cls OK #15/p MOD64 by 0, zero check 2, cls OK #16/p DIV32 overflow, check 1 OK #17/p DIV32 overflow, check 2 OK #18/p DIV64 overflow, check 1 OK #19/p DIV64 overflow, check 2 OK #20/p MOD32 overflow, check 1 OK #21/p MOD32 overflow, check 2 OK #22/p MOD64 overflow, check 1 OK #23/p MOD64 overflow, check 2 OK #24/p xor32 zero extend check OK #25/u empty prog OK #25/p empty prog OK #26/u only exit insn OK #26/p only exit insn OK #27/u unreachable OK #27/p unreachable OK #28/u unreachable2 OK #28/p unreachable2 OK #29/u out of range jump OK #29/p out of range jump OK #30/u out of range jump2 OK #30/p out of range jump2 OK #31/u test1 ld_imm64 OK #31/p test1 ld_imm64 OK #32/u test2 ld_imm64 OK #32/p test2 ld_imm64 OK #33/u test3 ld_imm64 OK #33/p test3 ld_imm64 OK #34/u test4 ld_imm64 OK #34/p test4 ld_imm64 OK #35/u test5 ld_imm64 OK #35/p test5 ld_imm64 OK #36/u test6 ld_imm64 OK #36/p test6 ld_imm64 OK #37/u test7 ld_imm64 OK #37/p test7 ld_imm64 OK #38/u test8 ld_imm64 OK #38/p test8 ld_imm64 OK #39/u test9 ld_imm64 OK #39/p test9 ld_imm64 OK #40/u test10 ld_imm64 OK #40/p test10 ld_imm64 OK #41/u test11 ld_imm64 OK #41/p test11 ld_imm64 OK #42/u test12 ld_imm64 OK #42/p test12 ld_imm64 OK #43/u test13 ld_imm64 OK #43/p test13 ld_imm64 OK #44/u arsh32 on imm OK #44/p arsh32 on imm OK #45/u arsh32 on reg OK #45/p arsh32 on reg OK #46/u arsh64 on imm OK #46/p arsh64 on imm OK #47/u arsh64 on reg OK #47/p arsh64 on reg OK #48/u no bpf_exit OK #48/p no bpf_exit OK #49/u loop (back-edge) OK #49/p loop (back-edge) OK #50/u loop2 (back-edge) OK #50/p loop2 (back-edge) OK #51/u conditional loop OK #51/p conditional loop OK #52/u read uninitialized register OK #52/p read uninitialized register OK #53/u read invalid register OK #53/p read invalid register OK #54/u program doesn't init R0 before exit OK #54/p program doesn't init R0 before exit OK #55/u program doesn't init R0 before exit in all branches OK #55/p program doesn't init R0 before exit in all branches OK #56/u stack out of bounds OK #56/p stack out of bounds OK #57/u invalid call insn1 OK #57/p invalid call insn1 OK #58/u invalid call insn2 OK #58/p invalid call insn2 OK #59/u invalid function call OK #59/p invalid function call OK #60/u uninitialized stack1 OK #60/p uninitialized stack1 OK #61/u uninitialized stack2 OK #61/p uninitialized stack2 OK #62/u invalid fp arithmetic OK #62/p invalid fp arithmetic OK #63/u non-invalid fp arithmetic OK #63/p non-invalid fp arithmetic OK #64/p invalid argument register OK #65/p non-invalid argument register OK #66/u check valid spill/fill OK #66/p check valid spill/fill OK #67/u check valid spill/fill, skb mark OK #67/p check valid spill/fill, skb mark OK #68/u check corrupted spill/fill OK #68/p check corrupted spill/fill OK #69/u invalid src register in STX OK #69/p invalid src register in STX OK #70/u invalid dst register in STX OK #70/p invalid dst register in STX OK #71/u invalid dst register in ST OK #71/p invalid dst register in ST OK #72/u invalid src register in LDX OK #72/p invalid src register in LDX OK #73/u invalid dst register in LDX OK #73/p invalid dst register in LDX OK #74/u junk insn OK #74/p junk insn OK #75/u junk insn2 OK #75/p junk insn2 OK #76/u junk insn3 OK #76/p junk insn3 OK #77/u junk insn4 OK #77/p junk insn4 OK #78/u junk insn5 OK #78/p junk insn5 OK #79/u misaligned read from stack OK #79/p misaligned read from stack OK #80/u invalid map_fd for function call OK #80/p invalid map_fd for function call OK #81/u don't check return value before access OK #81/p don't check return value before access OK #82/u access memory with incorrect alignment OK #82/p access memory with incorrect alignment OK #83/u sometimes access memory with incorrect alignment OK #83/p sometimes access memory with incorrect alignment OK #84/u jump test 1 OK #84/p jump test 1 OK #85/u jump test 2 OK #85/p jump test 2 OK #86/u jump test 3 OK #86/p jump test 3 OK #87/u jump test 4 OK #87/p jump test 4 OK #88/u jump test 5 OK #88/p jump test 5 OK #89/u access skb fields ok OK #89/p access skb fields ok OK #90/u access skb fields bad1 OK #90/p access skb fields bad1 OK #91/u access skb fields bad2 OK #91/p access skb fields bad2 OK #92/u access skb fields bad3 OK #92/p access skb fields bad3 OK #93/u access skb fields bad4 OK #93/p access skb fields bad4 OK #94/u invalid access __sk_buff family OK #94/p invalid access __sk_buff family OK #95/u invalid access __sk_buff remote_ip4 OK #95/p invalid access __sk_buff remote_ip4 OK #96/u invalid access __sk_buff local_ip4 OK #96/p invalid access __sk_buff local_ip4 OK #97/u invalid access __sk_buff remote_ip6 OK #97/p invalid access __sk_buff remote_ip6 OK #98/u invalid access __sk_buff local_ip6 OK #98/p invalid access __sk_buff local_ip6 OK #99/u invalid access __sk_buff remote_port OK #99/p invalid access __sk_buff remote_port OK #100/u invalid access __sk_buff remote_port OK #100/p invalid access __sk_buff remote_port OK #101/p valid access __sk_buff family OK #102/p valid access __sk_buff remote_ip4 OK #103/p valid access __sk_buff local_ip4 OK #104/p valid access __sk_buff remote_ip6 OK #105/p valid access __sk_buff local_ip6 OK #106/p valid access __sk_buff remote_port OK #107/p valid access __sk_buff remote_port OK #108/p invalid access of tc_classid for SK_SKB OK #109/p invalid access of skb->mark for SK_SKB OK #110/p check skb->mark is not writeable by SK_SKB OK #111/p check skb->tc_index is writeable by SK_SKB OK #112/p check skb->priority is writeable by SK_SKB OK #113/p direct packet read for SK_SKB OK #114/p direct packet write for SK_SKB OK #115/p overlapping checks for direct packet access SK_SKB OK #116/p direct packet read for SK_MSG OK #117/p direct packet write for SK_MSG OK #118/p overlapping checks for direct packet access SK_MSG OK #119/u check skb->mark is not writeable by sockets OK #119/p check skb->mark is not writeable by sockets OK #120/u check skb->tc_index is not writeable by sockets OK #120/p check skb->tc_index is not writeable by sockets OK #121/u check cb access: byte OK #121/p check cb access: byte OK #122/u __sk_buff->hash, offset 0, byte store not permitted OK #122/p __sk_buff->hash, offset 0, byte store not permitted OK #123/u __sk_buff->tc_index, offset 3, byte store not permitted OK #123/p __sk_buff->tc_index, offset 3, byte store not permitted OK #124/u check skb->hash byte load permitted OK #124/p check skb->hash byte load permitted OK #125/u check skb->hash byte load not permitted 1 OK #125/p check skb->hash byte load not permitted 1 OK #126/u check skb->hash byte load not permitted 2 OK #126/p check skb->hash byte load not permitted 2 OK #127/u check skb->hash byte load not permitted 3 OK #127/p check skb->hash byte load not permitted 3 OK #128/p check cb access: byte, wrong type OK #129/u check cb access: half OK #129/p check cb access: half OK #130/u check cb access: half, unaligned OK #130/p check cb access: half, unaligned OK #131/u check __sk_buff->hash, offset 0, half store not permitted OK #131/p check __sk_buff->hash, offset 0, half store not permitted OK #132/u check __sk_buff->tc_index, offset 2, half store not permitted OK #132/p check __sk_buff->tc_index, offset 2, half store not permitted OK #133/u check skb->hash half load permitted OK #133/p check skb->hash half load permitted OK #134/u check skb->hash half load not permitted OK #134/p check skb->hash half load not permitted OK #135/p check cb access: half, wrong type OK #136/u check cb access: word OK #136/p check cb access: word OK #137/u check cb access: word, unaligned 1 OK #137/p check cb access: word, unaligned 1 OK #138/u check cb access: word, unaligned 2 OK #138/p check cb access: word, unaligned 2 OK #139/u check cb access: word, unaligned 3 OK #139/p check cb access: word, unaligned 3 OK #140/u check cb access: word, unaligned 4 OK #140/p check cb access: word, unaligned 4 OK #141/u check cb access: double OK #141/p check cb access: double OK #142/u check cb access: double, unaligned 1 OK #142/p check cb access: double, unaligned 1 OK #143/u check cb access: double, unaligned 2 OK #143/p check cb access: double, unaligned 2 OK #144/u check cb access: double, oob 1 OK #144/p check cb access: double, oob 1 OK #145/u check cb access: double, oob 2 OK #145/p check cb access: double, oob 2 OK #146/u check __sk_buff->ifindex dw store not permitted OK #146/p check __sk_buff->ifindex dw store not permitted OK #147/u check __sk_buff->ifindex dw load not permitted OK #147/p check __sk_buff->ifindex dw load not permitted OK #148/p check cb access: double, wrong type OK #149/p check out of range skb->cb access OK #150/u write skb fields from socket prog OK #150/p write skb fields from socket prog OK #151/p write skb fields from tc_cls_act prog OK #152/u PTR_TO_STACK store/load OK #152/p PTR_TO_STACK store/load OK #153/u PTR_TO_STACK store/load - bad alignment on off OK #153/p PTR_TO_STACK store/load - bad alignment on off OK #154/u PTR_TO_STACK store/load - bad alignment on reg OK #154/p PTR_TO_STACK store/load - bad alignment on reg OK #155/u PTR_TO_STACK store/load - out of bounds low OK #155/p PTR_TO_STACK store/load - out of bounds low OK #156/u PTR_TO_STACK store/load - out of bounds high OK #156/p PTR_TO_STACK store/load - out of bounds high OK #157/u unpriv: return pointer OK #157/p unpriv: return pointer OK #158/u unpriv: add const to pointer OK #158/p unpriv: add const to pointer OK #159/u unpriv: add pointer to pointer OK #159/p unpriv: add pointer to pointer OK #160/u unpriv: neg pointer OK #160/p unpriv: neg pointer OK #161/u unpriv: cmp pointer with const OK #161/p unpriv: cmp pointer with const OK #162/u unpriv: cmp pointer with pointer OK #162/p unpriv: cmp pointer with pointer OK #163/u unpriv: check that printk is disallowed OK #163/p unpriv: check that printk is disallowed OK #164/u unpriv: pass pointer to helper function OK #164/p unpriv: pass pointer to helper function OK #165/u unpriv: indirectly pass pointer on stack to helper function OK #165/p unpriv: indirectly pass pointer on stack to helper function OK #166/u unpriv: mangle pointer on stack 1 OK #166/p unpriv: mangle pointer on stack 1 OK #167/u unpriv: mangle pointer on stack 2 OK #167/p unpriv: mangle pointer on stack 2 OK #168/u unpriv: read pointer from stack in small chunks OK #168/p unpriv: read pointer from stack in small chunks OK #169/u unpriv: write pointer into ctx OK #169/p unpriv: write pointer into ctx OK #170/u unpriv: spill/fill of ctx OK #170/p unpriv: spill/fill of ctx OK #171/p unpriv: spill/fill of ctx 2 OK #172/p unpriv: spill/fill of ctx 3 OK #173/p unpriv: spill/fill of ctx 4 OK #174/p unpriv: spill/fill of different pointers stx OK #175/p unpriv: spill/fill of different pointers ldx OK #176/u unpriv: write pointer into map elem value OK #176/p unpriv: write pointer into map elem value OK #177/u unpriv: partial copy of pointer OK #177/p unpriv: partial copy of pointer OK #178/u unpriv: pass pointer to tail_call OK #178/p unpriv: pass pointer to tail_call OK #179/u unpriv: cmp map pointer with zero OK #179/p unpriv: cmp map pointer with zero OK #180/u unpriv: write into frame pointer OK #180/p unpriv: write into frame pointer OK #181/u unpriv: spill/fill frame pointer OK #181/p unpriv: spill/fill frame pointer OK #182/u unpriv: cmp of frame pointer OK #182/p unpriv: cmp of frame pointer OK #183/u unpriv: adding of fp OK #183/p unpriv: adding of fp OK #184/u unpriv: cmp of stack pointer OK #184/p unpriv: cmp of stack pointer OK #185/u runtime/jit: tail_call within bounds, prog once OK #185/p runtime/jit: tail_call within bounds, prog once OK #186/u runtime/jit: tail_call within bounds, prog loop OK #186/p runtime/jit: tail_call within bounds, prog loop OK #187/u runtime/jit: tail_call within bounds, no prog OK #187/p runtime/jit: tail_call within bounds, no prog OK #188/u runtime/jit: tail_call out of bounds OK #188/p runtime/jit: tail_call out of bounds OK #189/u runtime/jit: pass negative index to tail_call OK #189/p runtime/jit: pass negative index to tail_call OK #190/u runtime/jit: pass > 32bit index to tail_call OK #190/p runtime/jit: pass > 32bit index to tail_call OK #191/u stack pointer arithmetic OK #191/p stack pointer arithmetic OK #192/p raw_stack: no skb_load_bytes OK #193/p raw_stack: skb_load_bytes, negative len OK #194/p raw_stack: skb_load_bytes, negative len 2 OK #195/p raw_stack: skb_load_bytes, zero len OK #196/p raw_stack: skb_load_bytes, no init OK #197/p raw_stack: skb_load_bytes, init OK #198/p raw_stack: skb_load_bytes, spilled regs around bounds OK #199/p raw_stack: skb_load_bytes, spilled regs corruption OK #200/p raw_stack: skb_load_bytes, spilled regs corruption 2 OK #201/p raw_stack: skb_load_bytes, spilled regs + data OK #202/p raw_stack: skb_load_bytes, invalid access 1 OK #203/p raw_stack: skb_load_bytes, invalid access 2 OK #204/p raw_stack: skb_load_bytes, invalid access 3 OK #205/p raw_stack: skb_load_bytes, invalid access 4 OK #206/p raw_stack: skb_load_bytes, invalid access 5 OK #207/p raw_stack: skb_load_bytes, invalid access 6 OK #208/p raw_stack: skb_load_bytes, large access OK #209/p context stores via ST OK #210/p context stores via XADD OK #211/p direct packet access: test1 OK #212/p direct packet access: test2 OK #213/p direct packet access: test3 OK #214/p direct packet access: test4 (write) OK #215/p direct packet access: test5 (pkt_end >= reg, good access) OK #216/p direct packet access: test6 (pkt_end >= reg, bad access) OK #217/p direct packet access: test7 (pkt_end >= reg, both accesses) OK #218/p direct packet access: test8 (double test, variant 1) OK #219/p direct packet access: test9 (double test, variant 2) OK #220/p direct packet access: test10 (write invalid) OK #221/p direct packet access: test11 (shift, good access) OK #222/p direct packet access: test12 (and, good access) OK #223/p direct packet access: test13 (branches, good access) OK #224/p direct packet access: test14 (pkt_ptr += 0, CONST_IMM, good access) OK #225/p direct packet access: test15 (spill with xadd) OK #226/p direct packet access: test16 (arith on data_end) OK #227/p direct packet access: test17 (pruning, alignment) OK #228/p direct packet access: test18 (imm += pkt_ptr, 1) OK #229/p direct packet access: test19 (imm += pkt_ptr, 2) OK #230/p direct packet access: test20 (x += pkt_ptr, 1) OK #231/p direct packet access: test21 (x += pkt_ptr, 2) OK #232/p direct packet access: test22 (x += pkt_ptr, 3) OK #233/p direct packet access: test23 (x += pkt_ptr, 4) OK #234/p direct packet access: test24 (x += pkt_ptr, 5) OK #235/p direct packet access: test25 (marking on <, good access) OK #236/p direct packet access: test26 (marking on <, bad access) OK #237/p direct packet access: test27 (marking on <=, good access) OK #238/p direct packet access: test28 (marking on <=, bad access) OK #239/p helper access to packet: test1, valid packet_ptr range OK #240/p helper access to packet: test2, unchecked packet_ptr OK #241/p helper access to packet: test3, variable add OK #242/p helper access to packet: test4, packet_ptr with bad range OK #243/p helper access to packet: test5, packet_ptr with too short range OK #244/p helper access to packet: test6, cls valid packet_ptr range OK #245/p helper access to packet: test7, cls unchecked packet_ptr OK #246/p helper access to packet: test8, cls variable add OK #247/p helper access to packet: test9, cls packet_ptr with bad range OK #248/p helper access to packet: test10, cls packet_ptr with too short range OK #249/p helper access to packet: test11, cls unsuitable helper 1 OK #250/p helper access to packet: test12, cls unsuitable helper 2 OK #251/p helper access to packet: test13, cls helper ok OK #252/p helper access to packet: test14, cls helper ok sub OK #253/p helper access to packet: test15, cls helper fail sub OK #254/p helper access to packet: test16, cls helper fail range 1 OK #255/p helper access to packet: test17, cls helper fail range 2 OK #256/p helper access to packet: test18, cls helper fail range 3 OK #257/p helper access to packet: test19, cls helper range zero OK #258/p helper access to packet: test20, pkt end as input OK #259/p helper access to packet: test21, wrong reg OK #260/u valid map access into an array with a constant OK #260/p valid map access into an array with a constant OK #261/u valid map access into an array with a register OK #261/p valid map access into an array with a register OK #262/u valid map access into an array with a variable OK #262/p valid map access into an array with a variable OK #263/u valid map access into an array with a signed variable OK #263/p valid map access into an array with a signed variable OK #264/u invalid map access into an array with a constant OK #264/p invalid map access into an array with a constant OK #265/u invalid map access into an array with a register OK #265/p invalid map access into an array with a register OK #266/u invalid map access into an array with a variable OK #266/p invalid map access into an array with a variable OK #267/u invalid map access into an array with no floor check OK #267/p invalid map access into an array with no floor check OK #268/u invalid map access into an array with a invalid max check OK #268/p invalid map access into an array with a invalid max check OK #269/u invalid map access into an array with a invalid max check OK #269/p invalid map access into an array with a invalid max check OK #270/p multiple registers share map_lookup_elem result OK #271/p alu ops on ptr_to_map_value_or_null, 1 OK #272/p alu ops on ptr_to_map_value_or_null, 2 OK #273/p alu ops on ptr_to_map_value_or_null, 3 OK #274/p invalid memory access with multiple map_lookup_elem calls OK #275/p valid indirect map_lookup_elem access with 2nd lookup in branch OK #276/u invalid map access from else condition OK #276/p invalid map access from else condition OK #277/p constant register |= constant should keep constant type OK #278/p constant register |= constant should not bypass stack boundary checks OK #279/p constant register |= constant register should keep constant type OK #280/p constant register |= constant register should not bypass stack boundary checks OK #281/p invalid direct packet write for LWT_IN OK #282/p invalid direct packet write for LWT_OUT OK #283/p direct packet write for LWT_XMIT OK #284/p direct packet read for LWT_IN OK #285/p direct packet read for LWT_OUT OK #286/p direct packet read for LWT_XMIT OK #287/p overlapping checks for direct packet access OK #288/u invalid access of tc_classid for LWT_IN OK #288/p invalid access of tc_classid for LWT_IN OK #289/u invalid access of tc_classid for LWT_OUT OK #289/p invalid access of tc_classid for LWT_OUT OK #290/u invalid access of tc_classid for LWT_XMIT OK #290/p invalid access of tc_classid for LWT_XMIT OK #291/u leak pointer into ctx 1 OK #291/p leak pointer into ctx 1 OK #292/u leak pointer into ctx 2 OK #292/p leak pointer into ctx 2 OK #293/u leak pointer into ctx 3 OK #293/p leak pointer into ctx 3 OK #294/u leak pointer into map val OK #294/p leak pointer into map val OK #295/p helper access to map: full range OK #296/p helper access to map: partial range OK #297/p helper access to map: empty range OK #298/p helper access to map: out-of-bound range OK #299/p helper access to map: negative range OK #300/p helper access to adjusted map (via const imm): full range OK #301/p helper access to adjusted map (via const imm): partial range OK #302/p helper access to adjusted map (via const imm): empty range OK #303/p helper access to adjusted map (via const imm): out-of-bound range OK #304/p helper access to adjusted map (via const imm): negative range (> adjustment) OK #305/p helper access to adjusted map (via const imm): negative range (< adjustment) OK #306/p helper access to adjusted map (via const reg): full range OK #307/p helper access to adjusted map (via const reg): partial range OK #308/p helper access to adjusted map (via const reg): empty range OK #309/p helper access to adjusted map (via const reg): out-of-bound range OK #310/p helper access to adjusted map (via const reg): negative range (> adjustment) OK #311/p helper access to adjusted map (via const reg): negative range (< adjustment) OK #312/p helper access to adjusted map (via variable): full range OK #313/p helper access to adjusted map (via variable): partial range OK #314/p helper access to adjusted map (via variable): empty range OK #315/p helper access to adjusted map (via variable): no max check OK #316/p helper access to adjusted map (via variable): wrong max check OK #317/p helper access to map: bounds check using <, good access OK #318/p helper access to map: bounds check using <, bad access OK #319/p helper access to map: bounds check using <=, good access OK #320/p helper access to map: bounds check using <=, bad access OK #321/p helper access to map: bounds check using s<, good access OK #322/p helper access to map: bounds check using s<, good access 2 OK #323/p helper access to map: bounds check using s<, bad access OK #324/p helper access to map: bounds check using s<=, good access OK #325/p helper access to map: bounds check using s<=, good access 2 OK #326/p helper access to map: bounds check using s<=, bad access OK #327/u map element value is preserved across register spilling OK #327/p map element value is preserved across register spilling OK #328/u map element value or null is marked on register spilling OK #328/p map element value or null is marked on register spilling OK #329/u map element value store of cleared call register OK #329/p map element value store of cleared call register OK #330/u map element value with unaligned store OK #330/p map element value with unaligned store OK #331/u map element value with unaligned load OK #331/p map element value with unaligned load OK #332/u map element value illegal alu op, 1 OK #332/p map element value illegal alu op, 1 OK #333/u map element value illegal alu op, 2 OK #333/p map element value illegal alu op, 2 OK #334/u map element value illegal alu op, 3 OK #334/p map element value illegal alu op, 3 OK #335/u map element value illegal alu op, 4 OK #335/p map element value illegal alu op, 4 OK #336/u map element value illegal alu op, 5 OK #336/p map element value illegal alu op, 5 OK #337/u map element value is preserved across register spilling OK #337/p map element value is preserved across register spilling OK #338/p helper access to variable memory: stack, bitwise AND + JMP, correct bounds OK #339/p helper access to variable memory: stack, bitwise AND, zero included OK #340/p helper access to variable memory: stack, bitwise AND + JMP, wrong max OK #341/p helper access to variable memory: stack, JMP, correct bounds OK #342/p helper access to variable memory: stack, JMP (signed), correct bounds OK #343/p helper access to variable memory: stack, JMP, bounds + offset OK #344/p helper access to variable memory: stack, JMP, wrong max OK #345/p helper access to variable memory: stack, JMP, no max check OK #346/p helper access to variable memory: stack, JMP, no min check OK #347/p helper access to variable memory: stack, JMP (signed), no min check OK #348/p helper access to variable memory: map, JMP, correct bounds OK #349/p helper access to variable memory: map, JMP, wrong max OK #350/p helper access to variable memory: map adjusted, JMP, correct bounds OK #351/p helper access to variable memory: map adjusted, JMP, wrong max OK #352/p helper access to variable memory: size = 0 allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK #353/p helper access to variable memory: size > 0 not allowed on NULL (ARG_PTR_TO_MEM_OR_NULL) OK #354/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK #355/p helper access to variable memory: size = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK #356/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (ARG_PTR_TO_MEM_OR_NULL) OK #357/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (ARG_PTR_TO_MEM_OR_NULL) OK #358/p helper access to variable memory: size possible = 0 allowed on != NULL packet pointer (ARG_PTR_TO_MEM_OR_NULL) OK #359/p helper access to variable memory: size = 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK #360/p helper access to variable memory: size > 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL) OK #361/p helper access to variable memory: size = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK #362/p helper access to variable memory: size = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK #363/p helper access to variable memory: size possible = 0 allowed on != NULL stack pointer (!ARG_PTR_TO_MEM_OR_NULL) OK #364/p helper access to variable memory: size possible = 0 allowed on != NULL map pointer (!ARG_PTR_TO_MEM_OR_NULL) OK #365/p helper access to variable memory: 8 bytes leak OK #366/p helper access to variable memory: 8 bytes no leak (init memory) OK #367/u invalid and of negative number OK #367/p invalid and of negative number OK #368/u invalid range check OK #368/p invalid range check OK #369/u map in map access OK #369/p map in map access OK #370/u invalid inner map pointer OK #370/p invalid inner map pointer OK #371/u forgot null checking on the inner map pointer OK #371/p forgot null checking on the inner map pointer OK #372/u ld_abs: check calling conv, r1 OK #372/p ld_abs: check calling conv, r1 OK #373/u ld_abs: check calling conv, r2 OK #373/p ld_abs: check calling conv, r2 OK #374/u ld_abs: check calling conv, r3 OK #374/p ld_abs: check calling conv, r3 OK #375/u ld_abs: check calling conv, r4 OK #375/p ld_abs: check calling conv, r4 OK #376/u ld_abs: check calling conv, r5 OK #376/p ld_abs: check calling conv, r5 OK #377/u ld_abs: check calling conv, r7 OK #377/p ld_abs: check calling conv, r7 OK #378/p ld_abs: tests on r6 and skb data reload helper OK #379/u ld_ind: check calling conv, r1 OK #379/p ld_ind: check calling conv, r1 OK #380/u ld_ind: check calling conv, r2 OK #380/p ld_ind: check calling conv, r2 OK #381/u ld_ind: check calling conv, r3 OK #381/p ld_ind: check calling conv, r3 OK #382/u ld_ind: check calling conv, r4 OK #382/p ld_ind: check calling conv, r4 OK #383/u ld_ind: check calling conv, r5 OK #383/p ld_ind: check calling conv, r5 OK #384/u ld_ind: check calling conv, r7 OK #384/p ld_ind: check calling conv, r7 OK #385/p check bpf_perf_event_data->sample_period byte load permitted OK #386/p check bpf_perf_event_data->sample_period half load permitted OK #387/p check bpf_perf_event_data->sample_period word load permitted OK #388/p check bpf_perf_event_data->sample_period dword load permitted OK #389/u check skb->data half load not permitted OK #389/p check skb->data half load not permitted OK #390/p check skb->tc_classid half load not permitted for lwt prog OK #391/u bounds checks mixing signed and unsigned, positive bounds OK #391/p bounds checks mixing signed and unsigned, positive bounds OK #392/u bounds checks mixing signed and unsigned OK #392/p bounds checks mixing signed and unsigned OK #393/u bounds checks mixing signed and unsigned, variant 2 OK #393/p bounds checks mixing signed and unsigned, variant 2 OK #394/u bounds checks mixing signed and unsigned, variant 3 OK #394/p bounds checks mixing signed and unsigned, variant 3 OK #395/u bounds checks mixing signed and unsigned, variant 4 OK #395/p bounds checks mixing signed and unsigned, variant 4 OK #396/u bounds checks mixing signed and unsigned, variant 5 OK #396/p bounds checks mixing signed and unsigned, variant 5 OK #397/u bounds checks mixing signed and unsigned, variant 6 OK #397/p bounds checks mixing signed and unsigned, variant 6 OK #398/u bounds checks mixing signed and unsigned, variant 7 OK #398/p bounds checks mixing signed and unsigned, variant 7 OK #399/u bounds checks mixing signed and unsigned, variant 8 OK #399/p bounds checks mixing signed and unsigned, variant 8 OK #400/u bounds checks mixing signed and unsigned, variant 9 OK #400/p bounds checks mixing signed and unsigned, variant 9 OK #401/u bounds checks mixing signed and unsigned, variant 10 OK #401/p bounds checks mixing signed and unsigned, variant 10 OK #402/u bounds checks mixing signed and unsigned, variant 11 OK #402/p bounds checks mixing signed and unsigned, variant 11 OK #403/u bounds checks mixing signed and unsigned, variant 12 OK #403/p bounds checks mixing signed and unsigned, variant 12 OK #404/u bounds checks mixing signed and unsigned, variant 13 OK #404/p bounds checks mixing signed and unsigned, variant 13 OK #405/u bounds checks mixing signed and unsigned, variant 14 OK #405/p bounds checks mixing signed and unsigned, variant 14 OK #406/u bounds checks mixing signed and unsigned, variant 15 OK #406/p bounds checks mixing signed and unsigned, variant 15 OK #407/u subtraction bounds (map value) variant 1 OK #407/p subtraction bounds (map value) variant 1 OK #408/u subtraction bounds (map value) variant 2 OK #408/p subtraction bounds (map value) variant 2 OK #409/u bounds check based on zero-extended MOV OK #409/p bounds check based on zero-extended MOV OK #410/u bounds check based on sign-extended MOV. test1 OK #410/p bounds check based on sign-extended MOV. test1 OK #411/u bounds check based on sign-extended MOV. test2 OK #411/p bounds check based on sign-extended MOV. test2 OK #412/p bounds check based on reg_off + var_off + insn_off. test1 OK #413/p bounds check based on reg_off + var_off + insn_off. test2 OK #414/u bounds check after truncation of non-boundary-crossing range OK #414/p bounds check after truncation of non-boundary-crossing range OK #415/u bounds check after truncation of boundary-crossing range (1) OK #415/p bounds check after truncation of boundary-crossing range (1) OK #416/u bounds check after truncation of boundary-crossing range (2) OK #416/p bounds check after truncation of boundary-crossing range (2) OK #417/u bounds check after wrapping 32-bit addition OK #417/p bounds check after wrapping 32-bit addition OK #418/u bounds check after shift with oversized count operand OK #418/p bounds check after shift with oversized count operand OK #419/u bounds check after right shift of maybe-negative number OK #419/p bounds check after right shift of maybe-negative number OK #420/u bounds check map access with off+size signed 32bit overflow. test1 OK #420/p bounds check map access with off+size signed 32bit overflow. test1 OK #421/u bounds check map access with off+size signed 32bit overflow. test2 OK #421/p bounds check map access with off+size signed 32bit overflow. test2 OK #422/u bounds check map access with off+size signed 32bit overflow. test3 OK #422/p bounds check map access with off+size signed 32bit overflow. test3 OK #423/u bounds check map access with off+size signed 32bit overflow. test4 OK #423/p bounds check map access with off+size signed 32bit overflow. test4 OK #424/u pointer/scalar confusion in state equality check (way 1) OK #424/p pointer/scalar confusion in state equality check (way 1) OK #425/u pointer/scalar confusion in state equality check (way 2) OK #425/p pointer/scalar confusion in state equality check (way 2) OK #426/p variable-offset ctx access OK #427/p variable-offset stack access OK #428/p indirect variable-offset stack access OK #429/u direct stack access with 32-bit wraparound. test1 OK #429/p direct stack access with 32-bit wraparound. test1 OK #430/u direct stack access with 32-bit wraparound. test2 OK #430/p direct stack access with 32-bit wraparound. test2 OK #431/u direct stack access with 32-bit wraparound. test3 OK #431/p direct stack access with 32-bit wraparound. test3 OK #432/p liveness pruning and write screening OK #433/u varlen_map_value_access pruning OK #433/p varlen_map_value_access pruning OK #434/u invalid 64-bit BPF_END OK #434/p invalid 64-bit BPF_END OK #435/p XDP, using ifindex from netdev OK #436/p meta access, test1 OK #437/p meta access, test2 OK #438/p meta access, test3 OK #439/p meta access, test4 OK #440/p meta access, test5 OK #441/p meta access, test6 OK #442/p meta access, test7 OK #443/p meta access, test8 OK #444/p meta access, test9 OK #445/p meta access, test10 OK #446/p meta access, test11 OK #447/p meta access, test12 OK #448/p arithmetic ops make PTR_TO_CTX unusable OK #449/p pkt_end - pkt_start is allowed OK #450/p XDP pkt read, pkt_end mangling, bad access 1 OK #451/p XDP pkt read, pkt_end mangling, bad access 2 OK #452/p XDP pkt read, pkt_data' > pkt_end, good access OK #453/p XDP pkt read, pkt_data' > pkt_end, bad access 1 OK #454/p XDP pkt read, pkt_data' > pkt_end, bad access 2 OK #455/p XDP pkt read, pkt_end > pkt_data', good access OK #456/p XDP pkt read, pkt_end > pkt_data', bad access 1 OK #457/p XDP pkt read, pkt_end > pkt_data', bad access 2 OK #458/p XDP pkt read, pkt_data' < pkt_end, good access OK #459/p XDP pkt read, pkt_data' < pkt_end, bad access 1 OK #460/p XDP pkt read, pkt_data' < pkt_end, bad access 2 OK #461/p XDP pkt read, pkt_end < pkt_data', good access OK #462/p XDP pkt read, pkt_end < pkt_data', bad access 1 OK #463/p XDP pkt read, pkt_end < pkt_data', bad access 2 OK #464/p XDP pkt read, pkt_data' >= pkt_end, good access OK #465/p XDP pkt read, pkt_data' >= pkt_end, bad access 1 OK #466/p XDP pkt read, pkt_data' >= pkt_end, bad access 2 OK #467/p XDP pkt read, pkt_end >= pkt_data', good access OK #468/p XDP pkt read, pkt_end >= pkt_data', bad access 1 OK #469/p XDP pkt read, pkt_end >= pkt_data', bad access 2 OK #470/p XDP pkt read, pkt_data' <= pkt_end, good access OK #471/p XDP pkt read, pkt_data' <= pkt_end, bad access 1 OK #472/p XDP pkt read, pkt_data' <= pkt_end, bad access 2 OK #473/p XDP pkt read, pkt_end <= pkt_data', good access OK #474/p XDP pkt read, pkt_end <= pkt_data', bad access 1 OK #475/p XDP pkt read, pkt_end <= pkt_data', bad access 2 OK #476/p XDP pkt read, pkt_meta' > pkt_data, good access OK #477/p XDP pkt read, pkt_meta' > pkt_data, bad access 1 OK #478/p XDP pkt read, pkt_meta' > pkt_data, bad access 2 OK #479/p XDP pkt read, pkt_data > pkt_meta', good access OK #480/p XDP pkt read, pkt_data > pkt_meta', bad access 1 OK #481/p XDP pkt read, pkt_data > pkt_meta', bad access 2 OK #482/p XDP pkt read, pkt_meta' < pkt_data, good access OK #483/p XDP pkt read, pkt_meta' < pkt_data, bad access 1 OK #484/p XDP pkt read, pkt_meta' < pkt_data, bad access 2 OK #485/p XDP pkt read, pkt_data < pkt_meta', good access OK #486/p XDP pkt read, pkt_data < pkt_meta', bad access 1 OK #487/p XDP pkt read, pkt_data < pkt_meta', bad access 2 OK #488/p XDP pkt read, pkt_meta' >= pkt_data, good access OK #489/p XDP pkt read, pkt_meta' >= pkt_data, bad access 1 OK #490/p XDP pkt read, pkt_meta' >= pkt_data, bad access 2 OK #491/p XDP pkt read, pkt_data >= pkt_meta', good access OK #492/p XDP pkt read, pkt_data >= pkt_meta', bad access 1 OK #493/p XDP pkt read, pkt_data >= pkt_meta', bad access 2 OK #494/p XDP pkt read, pkt_meta' <= pkt_data, good access OK #495/p XDP pkt read, pkt_meta' <= pkt_data, bad access 1 OK #496/p XDP pkt read, pkt_meta' <= pkt_data, bad access 2 OK #497/p XDP pkt read, pkt_data <= pkt_meta', good access OK #498/p XDP pkt read, pkt_data <= pkt_meta', bad access 1 OK #499/p XDP pkt read, pkt_data <= pkt_meta', bad access 2 OK #500/u check deducing bounds from const, 1 OK #500/p check deducing bounds from const, 1 OK #501/u check deducing bounds from const, 2 OK #501/p check deducing bounds from const, 2 OK #502/u check deducing bounds from const, 3 OK #502/p check deducing bounds from const, 3 OK #503/u check deducing bounds from const, 4 OK #503/p check deducing bounds from const, 4 OK #504/u check deducing bounds from const, 5 OK #504/p check deducing bounds from const, 5 OK #505/u check deducing bounds from const, 6 OK #505/p check deducing bounds from const, 6 OK #506/u check deducing bounds from const, 7 OK #506/p check deducing bounds from const, 7 OK #507/u check deducing bounds from const, 8 OK #507/p check deducing bounds from const, 8 OK #508/u check deducing bounds from const, 9 OK #508/p check deducing bounds from const, 9 OK #509/u check deducing bounds from const, 10 OK #509/p check deducing bounds from const, 10 OK #510/p bpf_exit with invalid return code. test1 OK #511/p bpf_exit with invalid return code. test2 OK #512/p bpf_exit with invalid return code. test3 OK #513/p bpf_exit with invalid return code. test4 OK #514/p bpf_exit with invalid return code. test5 OK #515/p bpf_exit with invalid return code. test6 OK #516/p bpf_exit with invalid return code. test7 OK #517/p calls: basic sanity OK #518/u calls: not on unpriviledged OK #518/p calls: not on unpriviledged OK #519/p calls: div by 0 in subprog OK #520/p calls: multiple ret types in subprog 1 OK #521/p calls: multiple ret types in subprog 2 OK #522/p calls: overlapping caller/callee OK #523/p calls: wrong recursive calls OK #524/p calls: wrong src reg OK #525/p calls: wrong off value OK #526/p calls: jump back loop OK #527/p calls: conditional call OK #528/p calls: conditional call 2 OK #529/p calls: conditional call 3 OK #530/p calls: conditional call 4 OK #531/p calls: conditional call 5 OK #532/p calls: conditional call 6 OK #533/p calls: using r0 returned by callee OK #534/p calls: using uninit r0 from callee OK #535/p calls: callee is using r1 OK #536/u calls: callee using args1 OK #536/p calls: callee using args1 OK #537/p calls: callee using wrong args2 OK #538/u calls: callee using two args OK #538/p calls: callee using two args OK #539/p calls: callee changing pkt pointers OK #540/p calls: two calls with args OK #541/p calls: calls with stack arith OK #542/p calls: calls with misaligned stack access OK #543/p calls: calls control flow, jump test OK #544/p calls: calls control flow, jump test 2 OK #545/p calls: two calls with bad jump OK #546/p calls: recursive call. test1 OK #547/p calls: recursive call. test2 OK #548/p calls: unreachable code OK #549/p calls: invalid call OK #550/p calls: invalid call 2 OK #551/p calls: jumping across function bodies. test1 OK #552/p calls: jumping across function bodies. test2 OK #553/p calls: call without exit OK #554/p calls: call into middle of ld_imm64 OK #555/p calls: call into middle of other call OK #556/p calls: ld_abs with changing ctx data in callee OK #557/p calls: two calls with bad fallthrough OK #558/p calls: two calls with stack read OK #559/p calls: two calls with stack write OK #560/p calls: stack overflow using two frames (pre-call access) OK #561/p calls: stack overflow using two frames (post-call access) OK #562/p calls: stack depth check using three frames. test1 OK #563/p calls: stack depth check using three frames. test2 OK #564/p calls: stack depth check using three frames. test3 OK #565/p calls: stack depth check using three frames. test4 OK #566/p calls: stack depth check using three frames. test5 OK #567/p calls: spill into caller stack frame OK #568/p calls: write into caller stack frame OK #569/p calls: write into callee stack frame OK #570/p calls: two calls with stack write and void return OK #571/u calls: ambiguous return value OK #571/p calls: ambiguous return value OK #572/p calls: two calls that return map_value OK #573/p calls: two calls that return map_value with bool condition OK #574/p calls: two calls that return map_value with incorrect bool check OK #575/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test1 OK #576/p calls: two calls that receive map_value via arg=ptr_stack_of_caller. test2 OK #577/p calls: two jumps that receive map_value via arg=ptr_stack_of_jumper. test3 OK #578/p calls: two calls that receive map_value_ptr_or_null via arg. test1 OK #579/p calls: two calls that receive map_value_ptr_or_null via arg. test2 OK #580/p calls: pkt_ptr spill into caller stack OK #581/p calls: pkt_ptr spill into caller stack 2 OK #582/p calls: pkt_ptr spill into caller stack 3 OK #583/p calls: pkt_ptr spill into caller stack 4 OK #584/p calls: pkt_ptr spill into caller stack 5 OK #585/p calls: pkt_ptr spill into caller stack 6 OK #586/p calls: pkt_ptr spill into caller stack 7 OK #587/p calls: pkt_ptr spill into caller stack 8 OK #588/p calls: pkt_ptr spill into caller stack 9 OK #589/p calls: caller stack init to zero or map_value_or_null OK #590/p calls: stack init to zero and pruning OK #591/p search pruning: all branches should be verified (nop operation) OK #592/p search pruning: all branches should be verified (invalid stack access) OK #593/u jit: lsh, rsh, arsh by 1 OK #593/p jit: lsh, rsh, arsh by 1 OK #594/u jit: mov32 for ldimm64, 1 OK #594/p jit: mov32 for ldimm64, 1 OK #595/u jit: mov32 for ldimm64, 2 OK #595/p jit: mov32 for ldimm64, 2 OK #596/u jit: various mul tests OK #596/p jit: various mul tests OK #597/p xadd/w check unaligned stack OK #598/p xadd/w check unaligned map OK #599/p xadd/w check unaligned pkt OK Summary: 847 PASSED, 0 SKIPPED, 0 FAILED ok 1..1 selftests: test_verifier [PASS] selftests: test_tag ======================================== test_tag: OK (40945 tests) ok 1..2 selftests: test_tag [PASS] selftests: test_maps ======================================== Failed allowed duplicate programs in update ANY sockmap 0 '4:8' not ok 1..3 selftests: test_maps [FAIL] selftests: test_lru_map ======================================== nr_cpus:4 test_lru_sanity0 (map_type:9 map_flags:0x0): Pass test_lru_sanity1 (map_type:9 map_flags:0x0): Pass test_lru_sanity2 (map_type:9 map_flags:0x0): Pass test_lru_sanity3 (map_type:9 map_flags:0x0): Pass test_lru_sanity4 (map_type:9 map_flags:0x0): Pass test_lru_sanity5 (map_type:9 map_flags:0x0): Pass test_lru_sanity0 (map_type:10 map_flags:0x0): Pass test_lru_sanity1 (map_type:10 map_flags:0x0): Pass test_lru_sanity2 (map_type:10 map_flags:0x0): Pass test_lru_sanity3 (map_type:10 map_flags:0x0): Pass test_lru_sanity4 (map_type:10 map_flags:0x0): Pass test_lru_sanity5 (map_type:10 map_flags:0x0): Pass test_lru_sanity0 (map_type:9 map_flags:0x2): Pass test_lru_sanity4 (map_type:9 map_flags:0x2): Pass test_lru_sanity6 (map_type:9 map_flags:0x2): Pass test_lru_sanity0 (map_type:10 map_flags:0x2): Pass test_lru_sanity4 (map_type:10 map_flags:0x2): Pass test_lru_sanity6 (map_type:10 map_flags:0x2): Pass ok 1..4 selftests: test_lru_map [PASS] selftests: test_lpm_map ======================================== test_lpm: OK ok 1..5 selftests: test_lpm_map [PASS] selftests: test_progs ======================================== test_pkt_access:PASS:ipv4 684 nsec test_pkt_access:PASS:ipv6 538 nsec test_xdp:PASS:ipv4 11319 nsec test_xdp:PASS:ipv6 3745 nsec test_l4lb:PASS:ipv4 4754 nsec test_l4lb:PASS:ipv6 7739 nsec test_l4lb:PASS:ipv4 7437 nsec test_l4lb:PASS:ipv6 13233 nsec test_xdp_noinline:PASS:ipv4 11613 nsec test_xdp_noinline:PASS:ipv6 17356 nsec test_tcp_estats:PASS: 0 nsec test_bpf_obj_id:PASS:get-fd-by-notexist-prog-id 0 nsec test_bpf_obj_id:PASS:get-fd-by-notexist-map-id 0 nsec test_bpf_obj_id:PASS:get-map-info(fd) 0 nsec test_bpf_obj_id:PASS:get-prog-info(fd) 0 nsec test_bpf_obj_id:PASS:get-map-info(fd) 0 nsec test_bpf_obj_id:PASS:get-prog-info(fd) 0 nsec test_bpf_obj_id:PASS:get-prog-fd(next_id) 0 nsec test_bpf_obj_id:PASS:get-prog-fd-bad-nr-map-ids 0 nsec test_bpf_obj_id:PASS:get-prog-info(next_id->fd) 0 nsec test_bpf_obj_id:PASS:get-prog-fd(next_id) 0 nsec test_bpf_obj_id:PASS:get-prog-fd-bad-nr-map-ids 0 nsec test_bpf_obj_id:PASS:get-prog-info(next_id->fd) 0 nsec test_bpf_obj_id:PASS:check total prog id found by get_next_id 0 nsec test_bpf_obj_id:PASS:get-map-fd(next_id) 0 nsec test_bpf_obj_id:PASS:get-map-fd(next_id) 0 nsec test_bpf_obj_id:PASS:check get-map-info(next_id->fd) 0 nsec test_bpf_obj_id:PASS:get-map-fd(next_id) 0 nsec test_bpf_obj_id:PASS:check get-map-info(next_id->fd) 0 nsec test_bpf_obj_id:PASS:check total map id found by get_next_id 0 nsec test_pkt_md_access:PASS: 949 nsec test_obj_name:PASS:check-bpf-prog-name 0 nsec test_obj_name:PASS:check-bpf-map-name 0 nsec test_obj_name:PASS:check-bpf-prog-name 0 nsec test_obj_name:PASS:check-bpf-map-name 0 nsec test_obj_name:PASS:check-bpf-prog-name 0 nsec test_obj_name:PASS:check-bpf-map-name 0 nsec test_obj_name:PASS:check-bpf-prog-name 0 nsec test_obj_name:PASS:check-bpf-map-name 0 nsec test_tp_attach_query:PASS:open 0 nsec test_tp_attach_query:PASS:read 0 nsec test_tp_attach_query:PASS:prog_load 0 nsec test_tp_attach_query:PASS:bpf_obj_get_info_by_fd 0 nsec test_tp_attach_query:PASS:perf_event_open 0 nsec test_tp_attach_query:PASS:perf_event_ioc_enable 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_set_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:prog_load 0 nsec test_tp_attach_query:PASS:bpf_obj_get_info_by_fd 0 nsec test_tp_attach_query:PASS:perf_event_open 0 nsec test_tp_attach_query:PASS:perf_event_ioc_enable 0 nsec test_tp_attach_query:PASS:perf_event_ioc_set_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:prog_load 0 nsec test_tp_attach_query:PASS:bpf_obj_get_info_by_fd 0 nsec test_tp_attach_query:PASS:perf_event_open 0 nsec test_tp_attach_query:PASS:perf_event_ioc_enable 0 nsec test_tp_attach_query:PASS:perf_event_ioc_set_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_tp_attach_query:PASS:perf_event_ioc_query_bpf 0 nsec test_stacktrace_map:PASS:prog_load 0 nsec test_stacktrace_map:PASS:open 0 nsec test_stacktrace_map:PASS:perf_event_open 0 nsec test_stacktrace_map:PASS:compare_map_keys stackid_hmap vs. stackmap 0 nsec test_stacktrace_map:PASS:compare_map_keys stackmap vs. stackid_hmap 0 nsec test_stacktrace_build_id:PASS:prog_load 0 nsec test_stacktrace_build_id:PASS:open 0 nsec test_stacktrace_build_id:PASS:read 0 nsec test_stacktrace_build_id:PASS:perf_event_open 0 nsec test_stacktrace_build_id:PASS:perf_event_ioc_enable 0 nsec test_stacktrace_build_id:PASS:perf_event_ioc_set_bpf 0 nsec test_stacktrace_build_id:PASS:bpf_find_map control_map 0 nsec test_stacktrace_build_id:PASS:bpf_find_map stackid_hmap 0 nsec test_stacktrace_build_id:PASS:bpf_find_map stackmap 0 nsec test_stacktrace_build_id:PASS:compare_map_keys stackid_hmap vs. stackmap 0 nsec test_stacktrace_build_id:PASS:compare_map_keys stackmap vs. stackid_hmap 0 nsec test_stacktrace_build_id:PASS:get build_id with readelf 0 nsec test_stacktrace_build_id:PASS:get_next_key from stackmap 0 nsec test_stacktrace_build_id:PASS:lookup_elem from stackmap 0 nsec test_stacktrace_build_id:PASS:lookup_elem from stackmap 0 nsec test_stacktrace_build_id:PASS:build id match 0 nsec test_stacktrace_map_raw_tp:PASS:prog_load raw tp 0 nsec test_stacktrace_map_raw_tp:PASS:raw_tp_open 0 nsec test_stacktrace_map_raw_tp:PASS:compare_map_keys stackid_hmap vs. stackmap 0 nsec test_stacktrace_map_raw_tp:PASS:compare_map_keys stackmap vs. stackid_hmap 0 nsec Summary: 94 PASSED, 0 FAILED ok 1..6 selftests: test_progs [PASS] selftests: test_align ======================================== Test 0: mov ... PASS Test 1: shift ... PASS Test 2: addsub ... PASS Test 3: mul ... PASS Test 4: unknown shift ... PASS Test 5: unknown mul ... PASS Test 6: packet const offset ... PASS Test 7: packet variable offset ... PASS Test 8: packet variable offset 2 ... PASS Test 9: dubious pointer arithmetic ... PASS Test 10: variable subtraction ... PASS Test 11: pointer variable subtraction ... PASS Results: 12 pass 0 fail ok 1..7 selftests: test_align [PASS] selftests: test_verifier_log ======================================== Test log_level 0... Test log_size < 128... Test log_buff = NULL... Test oversized buffer... Test exact buffer... Test undersized buffers... test_verifier_log: OK ok 1..8 selftests: test_verifier_log [PASS] selftests: test_dev_cgroup ======================================== mknod: /tmp/test_dev_cgroup_null: Operation not permitted 64+0 records in 64+0 records out 32768 bytes (33 kB, 32 KiB) copied, 0.00109731 s, 29.9 MB/s dd: failed to open '/dev/full': Operation not permitted dd: failed to open '/dev/random': Operation not permitted test_dev_cgroup:PASS ok 1..9 selftests: test_dev_cgroup [PASS] selftests: test_tcpbpf_user ======================================== PASSED! ok 1..10 selftests: test_tcpbpf_user [PASS] selftests: test_sock ======================================== Test case: bind4 load with invalid access: src_ip6 .. [PASS] Test case: bind4 load with invalid access: mark .. [PASS] Test case: bind6 load with invalid access: src_ip4 .. [PASS] Test case: sock_create load with invalid access: src_port .. [PASS] Test case: sock_create load w/o expected_attach_type (compat mode) .. [PASS] Test case: sock_create load w/ expected_attach_type .. [PASS] Test case: attach type mismatch bind4 vs bind6 .. [PASS] Test case: attach type mismatch bind6 vs bind4 .. [PASS] Test case: attach type mismatch default vs bind4 .. [PASS] Test case: attach type mismatch bind6 vs sock_create .. [PASS] Test case: bind4 reject all .. [PASS] Test case: bind6 reject all .. [PASS] Test case: bind6 deny specific IP & port .. [PASS] Test case: bind4 allow specific IP & port .. [PASS] Test case: bind4 allow all .. [PASS] Test case: bind6 allow all .. [PASS] Summary: 16 PASSED, 0 FAILED ok 1..11 selftests: test_sock [PASS] selftests: test_sock_addr ======================================== ./test_sock_addr has to be run via ./test_sock_addr.sh. Skip direct run. ok 1..12 selftests: test_sock_addr [PASS] selftests: urandom_read ======================================== ok 1..13 selftests: urandom_read [PASS] selftests: test_kmod.sh ======================================== [ JIT enabled:0 hardened:0 ] [ 350.942014] test_bpf: Summary: 349 PASSED, 0 FAILED, [0/341 JIT'ed] [ JIT enabled:1 hardened:0 ] [ 357.321726] test_bpf: Summary: 349 PASSED, 0 FAILED, [340/341 JIT'ed] [ JIT enabled:1 hardened:1 ] [ 364.341434] test_bpf: Summary: 349 PASSED, 0 FAILED, [340/341 JIT'ed] [ JIT enabled:1 hardened:2 ] [ 374.720498] test_bpf: Summary: 349 PASSED, 0 FAILED, [340/341 JIT'ed] ok 1..14 selftests: test_kmod.sh [PASS] selftests: test_libbpf.sh ======================================== selftests: test_libbpf [PASS] ok 1..15 selftests: test_libbpf.sh [PASS] selftests: test_xdp_redirect.sh ======================================== PING 10.1.1.22 (10.1.1.22) 56(84) bytes of data. 64 bytes from 10.1.1.22: icmp_seq=1 ttl=64 time=0.150 ms --- 10.1.1.22 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.150/0.150/0.150/0.000 ms PING 10.1.1.11 (10.1.1.11) 56(84) bytes of data. 64 bytes from 10.1.1.11: icmp_seq=1 ttl=64 time=0.233 ms --- 10.1.1.11 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.233/0.233/0.233/0.000 ms selftests: test_xdp_redirect [PASS] ok 1..16 selftests: test_xdp_redirect.sh [PASS] selftests: test_xdp_meta.sh ======================================== PING 10.1.1.22 (10.1.1.22) 56(84) bytes of data. 64 bytes from 10.1.1.22: icmp_seq=1 ttl=64 time=0.245 ms --- 10.1.1.22 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.245/0.245/0.245/0.000 ms PING 10.1.1.11 (10.1.1.11) 56(84) bytes of data. 64 bytes from 10.1.1.11: icmp_seq=1 ttl=64 time=0.151 ms --- 10.1.1.11 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.151/0.151/0.151/0.000 ms selftests: test_xdp_meta [PASS] ok 1..17 selftests: test_xdp_meta.sh [PASS] selftests: test_offload.py ======================================== SKIP: bpftool not installed ok 1..18 selftests: test_offload.py [PASS] selftests: test_sock_addr.sh ======================================== Wait for testing IPv4/IPv6 to become available ... OK Load bind4 with invalid type (can pollute stderr) ... REJECTED Load bind4 with valid type ... OK Attach bind4 with invalid type ... REJECTED Attach bind4 with valid type ... OK Load connect4 with invalid type (can pollute stderr) libbpf: load bpf program failed: Permission denied libbpf: -- BEGIN DUMP LOG --- libbpf: 0: (b7) r2 = 23569 1: (63) *(u32 *)(r1 +24) = r2 2: (b7) r2 = 16777343 3: (63) *(u32 *)(r1 +4) = r2 invalid bpf_context access off=4 size=4 libbpf: -- END LOG -- libbpf: failed to load program 'cgroup/connect4' libbpf: failed to load object './connect4_prog.o' ... REJECTED Load connect4 with valid type ... OK Attach connect4 with invalid type ... REJECTED Attach connect4 with valid type ... OK Test case #1 (IPv4/TCP): Requested: bind(192.168.1.254, 4040) .. Actual: bind(127.0.0.1, 4444) Requested: connect(192.168.1.254, 4040) from (*, *) .. Actual: connect(127.0.0.1, 4444) from (127.0.0.4, 55540) Test case #2 (IPv4/UDP): Requested: bind(192.168.1.254, 4040) .. Actual: bind(127.0.0.1, 4444) Requested: connect(192.168.1.254, 4040) from (*, *) .. Actual: connect(127.0.0.1, 4444) from (127.0.0.4, 53448) Load bind6 with invalid type (can pollute stderr) ... REJECTED Load bind6 with valid type ... OK Attach bind6 with invalid type ... REJECTED Attach bind6 with valid type ... OK Load connect6 with invalid type (can pollute stderr) libbpf: load bpf program failed: Permission denied libbpf: -- BEGIN DUMP LOG --- libbpf: 0: (b7) r6 = 0 1: (63) *(u32 *)(r1 +12) = r6 invalid bpf_context access off=12 size=4 libbpf: -- END LOG -- libbpf: failed to load program 'cgroup/connect6' libbpf: failed to load object './connect6_prog.o' ... REJECTED Load connect6 with valid type ... OK Attach connect6 with invalid type ... REJECTED Attach connect6 with valid type ... OK Test case #3 (IPv6/TCP): Requested: bind(face:b00c:1234:5678::abcd, 6060) .. Actual: bind(::1, 6666) Requested: connect(face:b00c:1234:5678::abcd, 6060) from (*, *) .. Actual: connect(::1, 6666) from (::6, 38464) Test case #4 (IPv6/UDP): Requested: bind(face:b00c:1234:5678::abcd, 6060) .. Actual: bind(::1, 6666) Requested: connect(face:b00c:1234:5678::abcd, 6060) from (*, *) .. Actual: connect(::1, 6666) from (::6, 33707) ### SUCCESS ok 1..19 selftests: test_sock_addr.sh [PASS] make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/bpf' 2018-04-13 13:05:11 make run_tests -C breakpoints make: Entering directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/breakpoints' gcc step_after_suspend_test.c -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/breakpoints/step_after_suspend_test gcc breakpoint_test.c -o /usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/breakpoints/breakpoint_test TAP version 13 selftests: step_after_suspend_test ======================================== TAP version 13 ok 1 CPU 0 ok 2 CPU 1 ok 3 CPU 2 ok 4 CPU 3 Pass 4 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0 1..4 ok 1..1 selftests: step_after_suspend_test [PASS] selftests: breakpoint_test ======================================== TAP version 13 ok 1 Test breakpoint 0 with local: 0 global: 1 ok 2 Test breakpoint 1 with local: 0 global: 1 ok 3 Test breakpoint 2 with local: 0 global: 1 ok 4 Test breakpoint 3 with local: 0 global: 1 ok 5 Test breakpoint 0 with local: 1 global: 0 ok 6 Test breakpoint 1 with local: 1 global: 0 ok 7 Test breakpoint 2 with local: 1 global: 0 ok 8 Test breakpoint 3 with local: 1 global: 0 ok 9 Test breakpoint 0 with local: 1 global: 1 ok 10 Test breakpoint 1 with local: 1 global: 1 ok 11 Test breakpoint 2 with local: 1 global: 1 ok 12 Test breakpoint 3 with local: 1 global: 1 ok 13 Test write watchpoint 0 with len: 1 local: 0 global: 1 ok 14 Test write watchpoint 1 with len: 1 local: 0 global: 1 ok 15 Test write watchpoint 2 with len: 1 local: 0 global: 1 ok 16 Test write watchpoint 3 with len: 1 local: 0 global: 1 ok 17 Test write watchpoint 0 with len: 1 local: 1 global: 0 ok 18 Test write watchpoint 1 with len: 1 local: 1 global: 0 ok 19 Test write watchpoint 2 with len: 1 local: 1 global: 0 ok 20 Test write watchpoint 3 with len: 1 local: 1 global: 0 ok 21 Test write watchpoint 0 with len: 1 local: 1 global: 1 ok 22 Test write watchpoint 1 with len: 1 local: 1 global: 1 ok 23 Test write watchpoint 2 with len: 1 local: 1 global: 1 ok 24 Test write watchpoint 3 with len: 1 local: 1 global: 1 ok 25 Test write watchpoint 0 with len: 2 local: 0 global: 1 ok 26 Test write watchpoint 1 with len: 2 local: 0 global: 1 ok 27 Test write watchpoint 2 with len: 2 local: 0 global: 1 ok 28 Test write watchpoint 3 with len: 2 local: 0 global: 1 ok 29 Test write watchpoint 0 with len: 2 local: 1 global: 0 ok 30 Test write watchpoint 1 with len: 2 local: 1 global: 0 ok 31 Test write watchpoint 2 with len: 2 local: 1 global: 0 ok 32 Test write watchpoint 3 with len: 2 local: 1 global: 0 ok 33 Test write watchpoint 0 with len: 2 local: 1 global: 1 ok 34 Test write watchpoint 1 with len: 2 local: 1 global: 1 ok 35 Test write watchpoint 2 with len: 2 local: 1 global: 1 ok 36 Test write watchpoint 3 with len: 2 local: 1 global: 1 ok 37 Test write watchpoint 0 with len: 4 local: 0 global: 1 ok 38 Test write watchpoint 1 with len: 4 local: 0 global: 1 ok 39 Test write watchpoint 2 with len: 4 local: 0 global: 1 ok 40 Test write watchpoint 3 with len: 4 local: 0 global: 1 ok 41 Test write watchpoint 0 with len: 4 local: 1 global: 0 ok 42 Test write watchpoint 1 with len: 4 local: 1 global: 0 ok 43 Test write watchpoint 2 with len: 4 local: 1 global: 0 ok 44 Test write watchpoint 3 with len: 4 local: 1 global: 0 ok 45 Test write watchpoint 0 with len: 4 local: 1 global: 1 ok 46 Test write watchpoint 1 with len: 4 local: 1 global: 1 ok 47 Test write watchpoint 2 with len: 4 local: 1 global: 1 ok 48 Test write watchpoint 3 with len: 4 local: 1 global: 1 ok 49 Test write watchpoint 0 with len: 8 local: 0 global: 1 ok 50 Test write watchpoint 1 with len: 8 local: 0 global: 1 ok 51 Test write watchpoint 2 with len: 8 local: 0 global: 1 ok 52 Test write watchpoint 3 with len: 8 local: 0 global: 1 ok 53 Test write watchpoint 0 with len: 8 local: 1 global: 0 ok 54 Test write watchpoint 1 with len: 8 local: 1 global: 0 ok 55 Test write watchpoint 2 with len: 8 local: 1 global: 0 ok 56 Test write watchpoint 3 with len: 8 local: 1 global: 0 ok 57 Test write watchpoint 0 with len: 8 local: 1 global: 1 ok 58 Test write watchpoint 1 with len: 8 local: 1 global: 1 ok 59 Test write watchpoint 2 with len: 8 local: 1 global: 1 ok 60 Test write watchpoint 3 with len: 8 local: 1 global: 1 ok 61 Test read watchpoint 0 with len: 1 local: 0 global: 1 ok 62 Test read watchpoint 1 with len: 1 local: 0 global: 1 ok 63 Test read watchpoint 2 with len: 1 local: 0 global: 1 ok 64 Test read watchpoint 3 with len: 1 local: 0 global: 1 ok 65 Test read watchpoint 0 with len: 1 local: 1 global: 0 ok 66 Test read watchpoint 1 with len: 1 local: 1 global: 0 ok 67 Test read watchpoint 2 with len: 1 local: 1 global: 0 ok 68 Test read watchpoint 3 with len: 1 local: 1 global: 0 ok 69 Test read watchpoint 0 with len: 1 local: 1 global: 1 ok 70 Test read watchpoint 1 with len: 1 local: 1 global: 1 ok 71 Test read watchpoint 2 with len: 1 local: 1 global: 1 ok 72 Test read watchpoint 3 with len: 1 local: 1 global: 1 ok 73 Test read watchpoint 0 with len: 2 local: 0 global: 1 ok 74 Test read watchpoint 1 with len: 2 local: 0 global: 1 ok 75 Test read watchpoint 2 with len: 2 local: 0 global: 1 ok 76 Test read watchpoint 3 with len: 2 local: 0 global: 1 ok 77 Test read watchpoint 0 with len: 2 local: 1 global: 0 ok 78 Test read watchpoint 1 with len: 2 local: 1 global: 0 ok 79 Test read watchpoint 2 with len: 2 local: 1 global: 0 ok 80 Test read watchpoint 3 with len: 2 local: 1 global: 0 ok 81 Test read watchpoint 0 with len: 2 local: 1 global: 1 ok 82 Test read watchpoint 1 with len: 2 local: 1 global: 1 ok 83 Test read watchpoint 2 with len: 2 local: 1 global: 1 ok 84 Test read watchpoint 3 with len: 2 local: 1 global: 1 ok 85 Test read watchpoint 0 with len: 4 local: 0 global: 1 ok 86 Test read watchpoint 1 with len: 4 local: 0 global: 1 ok 87 Test read watchpoint 2 with len: 4 local: 0 global: 1 ok 88 Test read watchpoint 3 with len: 4 local: 0 global: 1 ok 89 Test read watchpoint 0 with len: 4 local: 1 global: 0 ok 90 Test read watchpoint 1 with len: 4 local: 1 global: 0 ok 91 Test read watchpoint 2 with len: 4 local: 1 global: 0 ok 92 Test read watchpoint 3 with len: 4 local: 1 global: 0 ok 93 Test read watchpoint 0 with len: 4 local: 1 global: 1 ok 94 Test read watchpoint 1 with len: 4 local: 1 global: 1 ok 95 Test read watchpoint 2 with len: 4 local: 1 global: 1 ok 96 Test read watchpoint 3 with len: 4 local: 1 global: 1 ok 97 Test read watchpoint 0 with len: 8 local: 0 global: 1 ok 98 Test read watchpoint 1 with len: 8 local: 0 global: 1 ok 99 Test read watchpoint 2 with len: 8 local: 0 global: 1 ok 100 Test read watchpoint 3 with len: 8 local: 0 global: 1 ok 101 Test read watchpoint 0 with len: 8 local: 1 global: 0 ok 102 Test read watchpoint 1 with len: 8 local: 1 global: 0 ok 103 Test read watchpoint 2 with len: 8 local: 1 global: 0 ok 104 Test read watchpoint 3 with len: 8 local: 1 global: 0 ok 105 Test read watchpoint 0 with len: 8 local: 1 global: 1 ok 106 Test read watchpoint 1 with len: 8 local: 1 global: 1 ok 107 Test read watchpoint 2 with len: 8 local: 1 global: 1 ok 108 Test read watchpoint 3 with len: 8 local: 1 global: 1 ok 109 Test icebp ok 110 Test int 3 trap Pass 110 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0 1..110 ok 1..2 selftests: breakpoint_test [PASS] TAP version 13 make: Leaving directory '/usr/src/linux-selftests-x86_64-rhel-7.2-4f7b25baf0cefa88aa267e8ff60150c4ac1479ef/tools/testing/selftests/breakpoints'