linux/tools/testing/selftests/bpf/prog_tests
Andrii Nakryiko 333291ce50 bpf: Fix bug in mmap() implementation for BPF array map
mmap() subsystem allows user-space application to memory-map region with
initial page offset. This wasn't taken into account in initial implementation
of BPF array memory-mapping. This would result in wrong pages, not taking into
account requested page shift, being memory-mmaped into user-space. This patch
fixes this gap and adds a test for such scenario.

Fixes: fc9702273e ("bpf: Add mmap() support for BPF_MAP_TYPE_ARRAY")
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20200512235925.3817805-1-andriin@fb.com
2020-05-14 12:40:04 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
attach_probe.c selftests/bpf: Fix test_attach_probe 2019-12-19 16:14:08 +01:00
bpf_obj_id.c selftests/bpf: test_progs: remove asserts from subtests 2019-08-28 00:35:40 +02: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 mix of tabs and spaces 2020-03-20 21:46:12 +01: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 selftests/bpf: Declare bpf_log_buf variables as static 2020-03-02 17:00:41 -08: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: Test FD-based cgroup attachment 2020-03-30 17:36:41 -07:00
core_extern.c libbpf: Allow to augment system Kconfig through extra optional config 2019-12-18 17:33:36 -08:00
core_reloc.c selftests/bpf: Add flexible array relocation tests 2019-12-15 16:53:51 -08:00
cpu_mask.c selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08:00
fentry_fexit.c bpf: Add test ops for BPF_PROG_TYPE_TRACING 2020-03-04 13:41:06 -08: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: Add test for freplace program with expected_attach_type 2020-04-24 17:34:30 -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: add flow dissector bpf_skb_load_bytes helper test 2019-04-23 18:36:34 +02:00
flow_dissector_reattach.c selftests/bpf: Restore the netns after flow dissector reattach test 2019-10-17 12:10:16 -07:00
flow_dissector.c selftests/bpf: remove wrong nhoff in flow dissector test 2019-08-28 00:39:43 +02: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
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 selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
kfree_skb.c selftest/bpf: Simple test for fentry/fexit 2019-11-15 23:42:46 +01:00
l4lb_all.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
link_pinning.c selftests/bpf: Add link pinning selftests 2020-03-02 22:06:27 -08:00
map_lock.c selftests/bpf: test_progs: remove asserts from subtests 2019-08-28 00:35:40 +02:00
mmap.c bpf: Fix bug in mmap() implementation for BPF array map 2020-05-14 12:40:04 -07:00
modify_return.c bpf: Add selftests for BPF_MODIFY_RETURN 2020-03-04 13:41:06 -08:00
ns_current_pid_tgid.c tools/testing/selftests/bpf: Add self-tests for new helper bpf_get_ns_current_pid_tgid. 2020-03-12 17:40:47 -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 selftests: Use consistent include paths for libbpf 2020-01-20 16:37:45 -08: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: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
pkt_md_access.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
probe_user.c libbpf: Add generic bpf_program__attach() 2019-12-15 15:58:04 -08:00
prog_run_xattr.c selftests: bpf: break up test_progs - misc 2019-03-02 11:10:40 -08:00
queue_stack_map.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +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
section_names.c libbpf: Always specify expected_attach_type on program load if supported 2020-04-15 13:22:43 +02: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 selftests/bpf: Fix test_progs send_signal flakiness with nmi mode 2020-01-16 13:28:57 -08:00
signal_pending.c selftests: bpf: test_progs: initialize duration in singal_pending test 2019-03-07 10:46:25 +01:00
sk_assign.c selftests: bpf: Extend sk_assign tests for UDP 2020-03-30 13:45:05 -07:00
skb_ctx.c selftests/bpf: Test new __sk_buff field gso_size 2020-03-03 16:23:59 -08:00
skeleton.c libbpf: Put Kconfig externs into .kconfig section 2019-12-18 17:33:36 -08:00
sockmap_basic.c bpf: Selftests build error in sockmap_basic.c 2020-02-10 14:31:34 -08: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: test_progs: Don't leak server_fd in test_sockopt_inherit 2019-10-02 00:58:07 +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: test_progs: convert test_sockopt_sk 2019-09-06 09:59:05 -07:00
sockopt.c selftests/bpf: test_progs: convert test_sockopt 2019-09-06 09:59:05 -07:00
spinlock.c selftests/bpf: test_progs: remove asserts from subtests 2019-08-28 00:35:40 +02:00
stacktrace_build_id_nmi.c selftests/bpf: Skip perf hw events test if the setup disabled it 2020-01-20 23:26:58 +01: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_rtt.c selftests/bpf: Fix race in tcp_rtt test 2020-03-17 19:30:26 +01:00
test_global_funcs.c selftests/bpf: Add unit tests for global functions 2020-01-10 17:20:07 +01:00
test_lsm.c bpf, lsm: Fix the file_mprotect LSM test. 2020-04-02 19:42:52 -07:00
test_overhead.c selftests/bpf: Restore original comm in test_overhead 2020-01-09 08:42:07 -08:00
tp_attach_query.c selftests: bpf: initialize bpf_object pointers where needed 2019-05-09 15:53:56 -07:00
trampoline_count.c selftests/bpf: Fix trampoline_count clean up logic 2020-02-20 18:03:10 -08: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: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02: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 bpf: Add bpf_xdp_output() helper 2020-03-12 17:47:38 -07:00
xdp_info.c selftests/bpf: Add test for bpf_get_link_xdp_id 2020-04-08 01:35:24 +02:00
xdp_noinline.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00
xdp_perf.c selftests: bpf: Add xdp_perf test 2019-12-13 13:09:32 -08:00
xdp.c selftests/bpf: test_progs: remove global fail/success counts 2019-08-28 00:35:40 +02:00