linux/tools/testing/selftests/bpf/prog_tests
David S. Miller 150f29f5e6 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
Daniel Borkmann says:

====================
pull-request: bpf-next 2020-09-01

The following pull-request contains BPF updates for your *net-next* tree.

There are two small conflicts when pulling, resolve as follows:

1) Merge conflict in tools/lib/bpf/libbpf.c between 88a8212028 ("libbpf: Factor
   out common ELF operations and improve logging") in bpf-next and 1e891e513e
   ("libbpf: Fix map index used in error message") in net-next. Resolve by taking
   the hunk in bpf-next:

        [...]
        scn = elf_sec_by_idx(obj, obj->efile.btf_maps_shndx);
        data = elf_sec_data(obj, scn);
        if (!scn || !data) {
                pr_warn("elf: failed to get %s map definitions for %s\n",
                        MAPS_ELF_SEC, obj->path);
                return -EINVAL;
        }
        [...]

2) Merge conflict in drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.c between
   9647c57b11 ("xsk: i40e: ice: ixgbe: mlx5: Test for dma_need_sync earlier for
   better performance") in bpf-next and e20f0dbf20 ("net/mlx5e: RX, Add a prefetch
   command for small L1_CACHE_BYTES") in net-next. Resolve the two locations by retaining
   net_prefetch() and taking xsk_buff_dma_sync_for_cpu() from bpf-next. Should look like:

        [...]
        xdp_set_data_meta_invalid(xdp);
        xsk_buff_dma_sync_for_cpu(xdp, rq->xsk_pool);
        net_prefetch(xdp->data);
        [...]

We've added 133 non-merge commits during the last 14 day(s) which contain
a total of 246 files changed, 13832 insertions(+), 3105 deletions(-).

The main changes are:

1) Initial support for sleepable BPF programs along with bpf_copy_from_user() helper
   for tracing to reliably access user memory, from Alexei Starovoitov.

2) Add BPF infra for writing and parsing TCP header options, from Martin KaFai Lau.

3) bpf_d_path() helper for returning full path for given 'struct path', from Jiri Olsa.

4) AF_XDP support for shared umems between devices and queues, from Magnus Karlsson.

5) Initial prep work for full BPF-to-BPF call support in libbpf, from Andrii Nakryiko.

6) Generalize bpf_sk_storage map & add local storage for inodes, from KP Singh.

7) Implement sockmap/hash updates from BPF context, from Lorenz Bauer.

8) BPF xor verification for scalar types & add BPF link iterator, from Yonghong Song.

9) Use target's prog type for BPF_PROG_TYPE_EXT prog verification, from Udip Pant.

10) Rework BPF tracing samples to use libbpf loader, from Daniel T. Lee.

11) Fix xdpsock sample to really cycle through all buffers, from Weqaar Janjua.

12) Improve type safety for tun/veth XDP frame handling, from Maciej Żenczykowski.

13) Various smaller cleanups and improvements all over the place.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2020-09-01 13:22:59 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
align.c selftests/bpf: Move test_align under test_progs 2020-05-16 01:18:14 +02:00
attach_probe.c selftests/bpf: Fix test_attach_probe 2019-12-19 16:14:08 +01:00
autoload.c selftests/bpf: Test auto-load disabling logic for BPF programs 2020-06-28 10:06:53 -07:00
bpf_iter.c tools/bpf: Support new uapi for map element bpf iterator 2020-08-06 16:39:14 -07:00
bpf_obj_id.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
bpf_tcp_ca.c bpf: Add tests for bpf_sk_storage to bpf_tcp_ca 2020-03-23 20:51:55 +01:00
bpf_verif_scale.c selftests/bpf: Add a test for a large global function 2020-01-10 17:20:07 +01:00
btf_dump.c selftests/bpf: Fix btf_dump test cases on 32-bit arches 2020-08-13 16:45:41 -07:00
btf_map_in_map.c bpf: selftests: Add test for different inner map size 2020-08-28 15:41:30 +02:00
cg_storage_multi.c selftests/bpf: Don't destroy failed link 2020-07-31 00:43:49 +02:00
cgroup_attach_autodetach.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_attach_multi.c bpf: cgroup: Allow multi-attach program to replace itself 2020-06-09 11:21:43 -07:00
cgroup_attach_override.c selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08:00
cgroup_link.c selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links 2020-08-01 20:38:28 -07:00
cgroup_skb_sk_lookup.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
cls_redirect.c selftests/bpf: Add cls_redirect classifier 2020-04-26 10:00:36 -07:00
connect_force_port.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
core_extern.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
core_reloc.c selftests/bpf: Add tests for ENUMVAL_EXISTS/ENUMVAL_VALUE relocations 2020-08-19 14:19:39 -07:00
core_retro.c selftests/bpf: Fix spurious test failures in core_retro selftest 2020-08-01 23:10:42 -07:00
cpu_mask.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
d_path.c selftests/bpf: Fix spelling mistake "scoket" -> "socket" 2020-08-26 09:19:34 -07:00
enable_stats.c bpf: Add selftest for BPF_ENABLE_STATS 2020-05-01 10:36:32 -07:00
endian.c selftests/bpf: Add byte swapping selftest 2020-07-01 09:06:12 +02:00
fentry_fexit.c bpf: Add tests for PTR_TO_BTF_ID vs. null comparison 2020-06-30 22:21:29 +02:00
fentry_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
fexit_bpf2bpf.c selftests/bpf: Test for map update access from within EXT programs 2020-08-26 12:47:56 -07:00
fexit_stress.c selftests/bpf: Add stress test for maximum number of progs 2019-11-15 23:43:53 +01:00
fexit_test.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08:00
flow_dissector_load_bytes.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
flow_dissector_reattach.c selftests: bpf: Pass program and target_fd in flow_dissector_reattach 2020-06-30 10:46:39 -07:00
flow_dissector.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
get_stack_raw_tp.c bpf: Test_progs, add test to catch retval refine error handling 2020-03-30 15:00:30 -07:00
get_stackid_cannot_attach.c selftests/bpf: Add get_stackid_cannot_attach 2020-07-25 20:16:35 -07:00
global_data_init.c selftests: Add test for overriding global data value before load 2020-03-30 01:17:35 +02:00
global_data.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
hashmap.c selftests/bpf: Convert test_hashmap into test_progs test 2020-04-28 19:48:05 -07:00
kfree_skb.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
ksyms.c selftests/bpf: Add __ksym extern selftest 2020-06-22 17:01:48 -07:00
l4lb_all.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
link_pinning.c selftests/bpf: Add link pinning selftests 2020-03-02 22:06:27 -08:00
load_bytes_relative.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
map_lock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
map_ptr.c selftests/bpf: Test access to bpf map pointer 2020-06-22 22:22:59 +02:00
mmap.c selftests/bpf: Fix segmentation fault in test_progs 2020-08-11 15:36:45 +02:00
modify_return.c bpf: Add selftests for BPF_MODIFY_RETURN 2020-03-04 13:41:06 -08:00
ns_current_pid_tgid.c selftests/bpf: Fix bpf_link leak in ns_current_pid_tgid selftest 2020-04-28 19:48:05 -07:00
obj_name.c selftests: bpf: break up test_progs - misc 2019-03-02 11:10:40 -08:00
perf_branches.c selftests/bpf: Add bpf_read_branch_records() selftest 2020-02-19 15:01:07 -08:00
perf_buffer.c libbpf: Add perf_buffer APIs for better integration with outside epoll loop 2020-08-21 14:26:55 -07:00
perf_event_stackmap.c selftests/bpf: Add callchain_stackid 2020-07-25 20:16:35 -07:00
pinning.c selftests/bpf: Add tests for automatic map unpinning on load failure 2019-11-10 19:26:30 -08:00
pkt_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
pkt_md_access.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
probe_user.c libbpf: Add generic bpf_program__attach() 2019-12-15 15:58:04 -08:00
prog_run_xattr.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
queue_stack_map.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
raw_tp_writable_reject_nbd_invalid.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
raw_tp_writable_test_run.c selftests: bpf: test writable buffers in raw tps 2019-04-26 19:04:19 -07:00
rdonly_maps.c libbpf: Expose BPF program's function name 2019-12-15 15:58:05 -08:00
reference_tracking.c libbpf: Make DECLARE_LIBBPF_OPTS macro strictly a variable declaration 2019-10-22 21:35:03 +02:00
resolve_btfids.c selftests/bpf: Add set test to resolve_btfids 2020-08-25 15:41:15 -07:00
ringbuf_multi.c selftests/bpf: Add BPF ringbuf selftests 2020-06-01 14:38:22 -07:00
ringbuf.c selftests/bpf: Fix ringbuf selftest sample counting undeterminism 2020-06-08 16:00:42 +02:00
section_names.c libbpf: Add support for BPF XDP link 2020-07-25 20:37:02 -07:00
select_reuseport.c selftests: bpf: Enable UDP sockmap reuseport tests 2020-03-09 22:34:59 +01:00
send_signal_sched_switch.c selftests/bpf: Add send_signal_sched_switch test 2020-03-05 14:02:41 -08:00
send_signal.c bpf: Fix compilation warning of selftests 2020-08-06 16:58:42 -07:00
signal_pending.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
sk_assign.c selftests/bpf: Enable tc verbose mode for test_sk_assign 2020-08-24 21:15:13 -07:00
sk_lookup.c selftests/bpf: Fix v4_to_v6 in sk_lookup 2020-08-11 15:36:51 +02:00
skb_ctx.c selftest/bpf: Fix compilation warnings in 32-bit mode 2020-08-13 16:45:41 -07:00
skb_helpers.c bpf, selftests: Test probe_* helpers from SCHED_CLS 2020-06-01 14:38:21 -07:00
skeleton.c tools/bpftool: Strip away modifiers from global variables 2020-07-13 17:07:43 -07:00
sockmap_basic.c selftests: bpf: Fix sockmap update nits 2020-08-24 14:51:46 -07:00
sockmap_ktls.c selftests/bpf: Fix build of sockmap_ktls.c 2020-02-20 01:17:24 +01:00
sockmap_listen.c selftests/bpf: Fix spurious failures in accept due to EAGAIN 2020-03-13 21:37:06 +01:00
sockopt_inherit.c selftests/bpf: Fix possible hang in sockopt_inherit 2020-07-16 20:57:09 +02:00
sockopt_multi.c selftests/bpf: test_progs: convert test_sockopt_multi 2019-09-06 09:59:05 -07:00
sockopt_sk.c selftests/bpf: Make sure optvals > PAGE_SIZE are bypassed 2020-06-17 10:54:05 -07:00
sockopt.c selftests/bpf: test_progs: convert test_sockopt 2019-09-06 09:59:05 -07:00
spinlock.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
stacktrace_build_id_nmi.c bpf: Fix compilation warning of selftests 2020-08-06 16:58:42 -07:00
stacktrace_build_id.c bpftool, selftests/bpf: Embed object file inside skeleton 2019-12-17 22:16:35 -08:00
stacktrace_map_raw_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
stacktrace_map.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tailcalls.c bpf, testing: Add various tail call test cases 2019-11-24 17:04:12 -08:00
task_fd_query_rawtp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
task_fd_query_tp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_estats.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
tcp_hdr_options.c bpf: selftests: Tcp header options 2020-08-24 14:35:00 -07:00
tcp_rtt.c bpf: selftests: A few improvements to network_helpers.c 2020-07-02 16:09:01 +02:00
test_bpffs.c selftests/bpf: Add bpffs preload test. 2020-08-20 16:02:36 +02:00
test_global_funcs.c bpf: selftests: global_funcs: Check err_str before strstr 2020-08-20 14:31:14 -07:00
test_local_storage.c bpf: Add selftests for local_storage 2020-08-25 15:00:04 -07:00
test_lsm.c selftests/bpf: Add sleepable tests 2020-08-28 21:20:33 +02:00
test_overhead.c selftest/bpf: Fmod_ret prog and implement test_overhead as part of bench 2020-05-13 12:19:38 -07:00
tp_attach_query.c selftests: bpf: initialize bpf_object pointers where needed 2019-05-09 15:53:56 -07:00
trace_printk.c selftests/bpf: Add selftests verifying bpf_trace_printk() behaviour 2020-07-13 16:55:49 -07:00
trampoline_count.c selftests/bpf: Fix trampoline_count clean up logic 2020-02-20 18:03:10 -08:00
udp_limit.c selftests/bpf: Test BPF_CGROUP_INET_SOCK_RELEASE 2020-07-08 01:07:36 +02:00
varlen.c selftests/bpf: Make test_varlen work with 32-bit user-space arch 2020-08-13 16:45:41 -07:00
vmlinux.c selftests/bpf: Fix nanosleep for real this time 2020-03-17 19:29:12 +01:00
xdp_adjust_tail.c selftests/bpf: Xdp_adjust_tail add grow tail tests 2020-05-14 21:21:57 -07:00
xdp_attach.c selftests/bpf: Check for correct program attach/detach in xdp_attach test 2020-04-15 13:26:08 +02:00
xdp_bpf2bpf.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_cpumap_attach.c selftest: Add tests for XDP programs in CPUMAP entries 2020-07-16 17:00:32 +02:00
xdp_devmap_attach.c bpf: Selftests and tools use struct bpf_devmap_val from uapi 2020-06-09 11:36:19 -07:00
xdp_info.c selftests/bpf: Add test for bpf_get_link_xdp_id 2020-04-08 01:35:24 +02:00
xdp_link.c selftests/bpf: Add link detach tests for cgroup, netns, and xdp bpf_links 2020-08-01 20:38:28 -07:00
xdp_noinline.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00
xdp_perf.c selftests: bpf: Add xdp_perf test 2019-12-13 13:09:32 -08:00
xdp.c selftests/bpf: Move existing common networking parts into network_helpers 2020-05-09 00:48:20 +02:00