linux-hardened/tools/testing/selftests
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
..
android selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
bpf bpf: test ref bit from data path and add new tests for syscall path 2019-05-14 10:47:29 -07:00
breakpoints
capabilities
cgroup Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup 2019-05-09 13:52:12 -07:00
cpu-hotplug selftests: cpu-hotplug: fix case where CPUs offline > CPUs present 2019-01-25 14:57:45 -07:00
cpufreq
drivers Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-17 11:26:25 -07:00
efivarfs selftests/efivarfs: clean up test files from test_create*() 2019-04-19 17:17:19 -06:00
exec
filesystems selftests: add binderfs selftests 2019-01-30 15:19:56 +01:00
firmware selftests: firmware: fix verify_reqs() return value 2019-02-08 13:00:43 +01:00
ftrace The biggest change for this release is in the histogram code. 2019-03-11 17:01:32 -07:00
futex selftests: Fix test errors related to lib.mk khdr target 2018-12-17 09:17:55 -07:00
gpio selftest/gpio: Remove duplicate header 2019-04-08 16:18:21 -06:00
ia64
intel_pstate
ipc selftests/ipc: Fix msgque compiler warnings 2019-04-19 17:18:00 -06:00
ir media updates for v5.1-rc1 2019-03-09 14:45:54 -08:00
kcmp
kexec selftests/kexec: update get_secureboot_mode 2019-04-17 15:32:44 -06:00
kmod
kvm KVM: selftests: make hyperv_cpuid test pass on AMD 2019-04-30 21:22:16 +02:00
lib lib: Add test module for strscpy_pad 2019-04-08 16:44:21 -06:00
livepatch selftests/livepatch: Add functions.sh to TEST_PROGS_EXTENDED 2019-04-15 10:43:21 +02:00
locking
media_tests media: selftests: media_dev_allocator api test 2019-04-22 11:23:14 -04:00
membarrier
memfd selftests/memfd: add tests for F_SEAL_FUTURE_WRITE seal 2019-03-05 21:07:19 -08:00
memory-hotplug selftests: memory-hotplug: add required configs 2018-09-05 10:58:31 -06:00
mount selftests: mount: remove no longer needed config option 2018-08-09 11:26:07 -06:00
mqueue
net selftests: Add loopback test 2019-05-05 21:56:57 -07:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-04-25 23:52:29 -04:00
networking/timestamping Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-02-15 12:38:38 -08:00
nsfs
ntb
pidfd selftests: add tests for pidfd_send_signal() 2019-03-05 17:04:33 +01:00
powerpc selftests/powerpc: Add a signal fuzzer selftest 2019-05-03 02:55:02 +10:00
prctl
proc proc: fixup proc-pid-vm test 2019-04-19 09:46:04 -07:00
pstore
ptp
ptrace
rcutorture for-5.2/block-20190507 2019-05-07 18:14:36 -07:00
rseq linux-kselftest-5.2-rc1 2019-05-06 20:29:45 -07:00
rtc selftests: rtc: rtctest: add alarm test on minute boundary 2019-01-14 18:49:14 -07:00
safesetid LSM: SafeSetID: add selftest 2019-02-12 10:58:51 -08:00
seccomp linux-kselftest-5.2-rc1 2019-05-06 20:29:45 -07:00
sigaltstack
size
sparc64
splice
static_keys
sync
sysctl tools/testing/selftests/sysctl/sysctl.sh: add tests for >32-bit values written to 32-bit integers 2019-03-12 10:04:00 -07:00
tc-testing net: sched: flower: use correct ht function to prevent duplicates 2019-04-11 11:33:06 -07:00
timers selftest/timers: Remove duplicate header 2019-04-08 16:18:21 -06:00
tmpfs tmpfs: test link accounting with O_TMPFILE 2019-03-05 21:07:20 -08:00
tpm2 selftests/tpm2: Open tpm dev in unbuffered mode 2019-04-08 15:58:55 -07:00
uevent
user
vDSO selftests: vDSO - fix to return KSFT_SKIP when test couldn't be run 2018-07-11 10:14:26 -06:00
vm tools: mark 'test_vmalloc.sh' executable 2019-03-11 10:10:29 -07:00
watchdog selftests: watchdog: fix spelling mistake "experies" -> "expires" 2018-12-13 13:03:19 -07:00
x86 selftest/x86/mpx-dig.c: Remove duplicate header 2019-04-08 16:18:21 -06:00
zram
.gitignore
gen_kselftest_tar.sh
kselftest.h selftest: include stdio.h in kselftest.h 2019-02-13 08:34:47 -07:00
kselftest_harness.h selftests/harness: Add 30 second timeout per test 2019-04-16 17:04:34 -06:00
kselftest_install.sh
kselftest_module.h kselftest: Add test module framework header 2019-04-08 16:44:20 -06:00
kselftest_module.sh kselftest: Add test runner creation script 2019-04-08 16:44:11 -06:00
lib.mk selftests: fix headers_install circular dependency 2019-04-19 17:15:27 -06:00
Makefile selftests: build and run gpio when output directory is the src dir 2019-04-22 17:02:26 -06:00