linux-hardened/tools/testing/selftests/bpf
Daniel Borkmann d2baab62a1 bpf: test ref bit from data path and add new tests for syscall path
The test_lru_map is relying on marking the LRU map entry via regular
BPF map lookup from system call side. This is basically for simplicity
reasons. Given we fixed marking entries in that case, the test needs
to be fixed as well. Here we add a small drop-in replacement to retain
existing behavior for the tests by marking out of the BPF program and
transferring the retrieved value out via temporary map. This also adds
new test cases to track the new behavior where two elements are marked,
one via system call side and one via program side, where the next update
then evicts the key looked up only from system call side.

  # ./test_lru_map
  nr_cpus:8

  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_sanity7 (map_type:9 map_flags:0x0): Pass
  test_lru_sanity8 (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_sanity7 (map_type:10 map_flags:0x0): Pass
  test_lru_sanity8 (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_sanity7 (map_type:9 map_flags:0x2): Pass
  test_lru_sanity8 (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
  test_lru_sanity7 (map_type:10 map_flags:0x2): Pass
  test_lru_sanity8 (map_type:10 map_flags:0x2): Pass

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-05-14 10:47:29 -07:00
..
gnu selftests/bpf: get rid of -D__x86_64__ 2017-05-03 09:51:25 -04:00
include/uapi/linux License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
map_tests bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps 2019-04-27 09:07:05 -07:00
prog_tests selftests: bpf: initialize bpf_object pointers where needed 2019-05-09 15:53:56 -07:00
progs bpf: Add ene-to-end test for bpf_sk_storage_* helpers 2019-04-27 09:07:05 -07:00
verifier bpf: add various test cases for backward jumps 2019-05-13 01:08:55 +02:00
.gitignore selftests: bpf: Add files generated after build to .gitignore 2019-05-13 01:16:37 +02:00
bpf_endian.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bpf_helpers.h bpf: Add ene-to-end test for bpf_sk_storage_* helpers 2019-04-27 09:07:05 -07:00
bpf_rand.h bpf: add ld64 imm test cases 2018-05-14 19:11:45 -07:00
bpf_rlimit.h bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
bpf_util.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-02-16 22:56:34 -08:00
cgroup_helpers.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
cgroup_helpers.h selftests/bpf: Fix const'ness in cgroup_helpers 2018-07-15 00:08:41 +02:00
config selftests/bpf: expand test_tc_tunnel with SIT encap 2019-04-24 01:32:26 +02:00
flow_dissector_load.c selftests/bpf: run flow dissector tests in skb-less mode 2019-04-23 18:36:34 +02:00
flow_dissector_load.h selftests/bpf: properly return error from bpf_flow_load 2019-04-23 18:36:34 +02:00
get_cgroup_id_user.c tools/bpf: fix selftest get_cgroup_id_user 2018-06-08 00:10:07 +02:00
Makefile bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps 2019-04-27 09:07:05 -07:00
netcnt_common.h selftests/bpf: cgroup local storage-based network counters 2018-10-01 16:18:33 +02:00
tcp_client.py selftests/bpf: use localhost in tcp_{server,client}.py 2019-02-04 21:29:27 +01:00
tcp_server.py selftests/bpf: use localhost in tcp_{server,client}.py 2019-02-04 21:29:27 +01:00
test_align.c bpf: Add BPF_F_ANY_ALIGNMENT. 2018-11-30 21:38:48 -08:00
test_btf.c bpf: Refactor BTF encoding macro to test_btf.h 2019-04-27 09:07:05 -07:00
test_btf.h bpf: Refactor BTF encoding macro to test_btf.h 2019-04-27 09:07:05 -07:00
test_cgroup_storage.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_dev_cgroup.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_flow_dissector.c selftests: bpf: remove duplicated include 2019-01-29 00:09:26 +01:00
test_flow_dissector.sh selftests/bpf: rename flow dissector section to flow_dissector 2018-11-10 15:56:10 -08:00
test_iptunnel_common.h selftests/bpf: add a test for basic XDP functionality 2017-04-01 12:45:57 -07:00
test_kmod.sh selftests: bpf: notification about privilege required to run test_kmod.sh testing script 2018-06-22 00:30:02 +02:00
test_libbpf.sh selftests/bpf: enable (uncomment) all tests in test_libbpf.sh 2018-11-07 22:20:56 +01:00
test_libbpf_open.c selftests/bpf: set RLIMIT_MEMLOCK properly for test_libbpf_open.c 2019-05-04 23:23:51 -07:00
test_lirc_mode2.sh media: bpf: add bpf function to report mouse movement 2018-12-09 14:37:18 -08:00
test_lirc_mode2_user.c media: bpf: add bpf function to report mouse movement 2018-12-09 14:37:18 -08:00
test_lpm_map.c bpf, lpm: fix lookup bug in map_delete_elem 2019-02-22 16:17:53 +01:00
test_lru_map.c bpf: test ref bit from data path and add new tests for syscall path 2019-05-14 10:47:29 -07:00
test_lwt_ip_encap.sh selftests: bpf: add VRF test cases to lwt_ip_encap test. 2019-04-16 19:19:51 -07:00
test_lwt_seg6local.sh selftests/bpf: update test_lwt_seg6local.sh according to iproute2 2018-08-03 10:19:33 +02:00
test_maps.c bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps 2019-04-27 09:07:05 -07:00
test_maps.h bpf: Add BPF_MAP_TYPE_SK_STORAGE test to test_maps 2019-04-27 09:07:05 -07:00
test_netcnt.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_offload.py netdevsim: move netdev creation/destruction to dev probe 2019-04-26 01:52:03 -04:00
test_progs.c selftests/bpf: add few verifier scale tests 2019-04-04 01:27:38 +02:00
test_progs.h selftests/bpf: add few verifier scale tests 2019-04-04 01:27:38 +02:00
test_queue_stack_map.h selftests/bpf: add test cases for queue and stack maps 2018-10-19 13:24:31 -07:00
test_section_names.c selftests/bpf: Test sysctl section name 2019-04-12 13:54:58 -07:00
test_select_reuseport.c bpf: Test BPF_PROG_TYPE_SK_REUSEPORT 2018-08-11 01:58:46 +02:00
test_select_reuseport_common.h bpf: Test BPF_PROG_TYPE_SK_REUSEPORT 2018-08-11 01:58:46 +02:00
test_skb_cgroup_id.sh kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists 2018-10-31 23:05:30 +01:00
test_skb_cgroup_id_user.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_sock.c tools/bpf: add log_level to bpf_load_program_attr 2019-02-07 18:22:31 -08:00
test_sock_addr.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_sock_addr.sh kselftests/bpf: use ping6 as the default ipv6 ping binary if it exists 2018-10-31 23:05:30 +01:00
test_sock_fields.c bpf: Add ene-to-end test for bpf_sk_storage_* helpers 2019-04-27 09:07:05 -07:00
test_socket_cookie.c libbpf: Show supported ELF section names when failing to guess prog/attach type 2019-01-23 12:27:04 +01:00
test_sockmap.c selftests: bpf: remove duplicated include 2019-01-29 00:09:26 +01:00
test_sockmap_kern.h bpf: test_sockmap, add options for msg_pop_data() helper 2018-11-28 22:07:57 +01:00
test_sysctl.c selftests/bpf: C based test for sysctl and strtoX 2019-04-12 13:54:59 -07:00
test_tag.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_tc_edt.sh selftests: bpf: tc-bpf flow shaping with EDT 2019-03-22 18:16:44 -07:00
test_tc_tunnel.sh selftests/bpf: expand test_tc_tunnel with SIT encap 2019-04-24 01:32:26 +02:00
test_tcp_check_syncookie.sh selftests/bpf: add tests for bpf_tcp_check_syncookie and bpf_skc_lookup_tcp 2019-03-21 18:59:11 -07:00
test_tcp_check_syncookie_user.c selftests/bpf: add tests for bpf_tcp_check_syncookie and bpf_skc_lookup_tcp 2019-03-21 18:59:11 -07:00
test_tcpbpf.h selftests/bpf: Test case for BPF_SOCK_OPS_TCP_LISTEN_CB 2018-07-15 00:08:41 +02:00
test_tcpbpf_user.c selftests/bpf: fix incorrect users of create_and_get_cgroup 2019-01-07 13:15:55 -08:00
test_tcpnotify.h selftests/bpf: add a test case for sock_ops perf-event notification 2018-11-09 09:40:17 +01:00
test_tcpnotify_user.c selftests/bpf: don't hardcode iptables/nc path in test_tcpnotify_user 2019-01-23 12:56:30 +01:00
test_tunnel.sh bpf, selftests: delete xfrm tunnel when test exits. 2018-06-15 03:31:52 +02:00
test_verifier.c bpf: Add verifier tests for the bpf_sk_storage 2019-04-27 09:07:05 -07:00
test_verifier_log.c bpf: unify rlimit handling in selftests 2018-02-26 20:11:23 -08:00
test_xdp_meta.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
test_xdp_redirect.sh tools/bpf: fix batch-mode test failure of test_xdp_redirect.sh 2018-02-06 11:34:42 +01:00
test_xdp_vlan.sh selftests/bpf: add XDP selftests for modifying and popping VLAN headers 2018-10-09 21:59:09 -07:00
trace_helpers.c selftests/bpf: ksym_search won't check symbols exists 2019-04-04 16:43:46 +02:00
trace_helpers.h trace_helpers.c: Add helpers to poll multiple perf FDs for events 2018-06-27 11:01:03 +02:00
urandom_read.c selftests: bpf: modify urandom_read and link it non-statically 2019-03-21 19:37:30 -07:00
with_addr.sh selftests/bpf: test bpf flow dissection 2018-09-14 12:04:33 -07:00
with_tunnels.sh selftests/bpf: test bpf flow dissection 2018-09-14 12:04:33 -07:00