linux-uconsole/tools/testing/selftests
Jonathan Lemon 4992d4af58 bpf: lpm_trie: check left child of last leftmost node for NULL
commit da2577fdd0 upstream.

If the leftmost parent node of the tree has does not have a child
on the left side, then trie_get_next_key (and bpftool map dump) will
not look at the child on the right.  This leads to the traversal
missing elements.

Lookup is not affected.

Update selftest to handle this case.

Reproducer:

 bpftool map create /sys/fs/bpf/lpm type lpm_trie key 6 \
     value 1 entries 256 name test_lpm flags 1
 bpftool map update pinned /sys/fs/bpf/lpm key  8 0 0 0  0   0 value 1
 bpftool map update pinned /sys/fs/bpf/lpm key 16 0 0 0  0 128 value 2
 bpftool map dump   pinned /sys/fs/bpf/lpm

Returns only 1 element. (2 expected)

Fixes: b471f2f1de ("bpf: implement MAP_GET_NEXT_KEY command for LPM_TRIE")
Signed-off-by: Jonathan Lemon <jonathan.lemon@gmail.com>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-07-03 13:14:48 +02:00
..
android selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
bpf bpf: lpm_trie: check left child of last leftmost node for NULL 2019-07-03 13:14:48 +02:00
breakpoints selftests: breakpoints: return Kselftest Skip code for skipped tests 2018-05-30 15:21:52 -06:00
capabilities
cgroup kselftest/cgroup: fix incorrect test_core skip 2019-06-25 11:35:56 +08:00
cpu-hotplug selftests: cpu-hotplug: fix case where CPUs offline > CPUs present 2019-03-13 14:02:28 -07:00
cpufreq selftests: cpufreq: return Kselftest Skip code for skipped tests 2018-05-30 15:21:52 -06:00
drivers selftests: usbip: add wait after attach and before checking port status 2018-10-09 16:13:42 +02:00
efivarfs selftests/efivarfs: add required kernel configs 2018-09-05 10:58:07 -06:00
exec selftests: exec: return Kselftest Skip code for skipped tests 2018-05-30 15:21:52 -06:00
filesystems selftests: filesystems: return Kselftest Skip code for skipped tests 2018-05-30 15:21:52 -06:00
firmware selftests: firmware: fix verify_reqs() return value 2019-03-10 07:17:21 +01:00
ftrace selftests/ftrace: Fix synthetic event test to delete event correctly 2018-11-13 11:08:55 -08:00
futex selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
gpio selftests: gpio-mockup-chardev: Check asprintf() for error 2019-03-05 17:58:48 +01:00
ia64
intel_pstate selftests: intel_pstate: notification about privilege required to run intel_pstate testing script 2018-05-30 21:31:31 -06:00
ipc selftests: ipc: return Kselftest Skip code for skipped tests 2018-05-30 15:21:53 -06:00
kcmp
kmod selftests: kmod: return Kselftest Skip code for skipped tests 2018-05-30 15:21:53 -06:00
kvm kvm: selftests: Fix region overlap check in kvm_util 2019-03-05 17:58:52 +01:00
lib selftests: lib: fix prime_numbers module search and skip logic 2018-05-30 21:32:55 -06:00
locking selftests: locking: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
media_tests selftests: media_tests: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
membarrier selftests: membarrier: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
memfd selftests: memfd: split regular and hugetlbfs tests 2018-05-30 15:29:06 -06: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 selftests: mqueue: return Kselftest Skip code for skipped tests 2018-05-30 15:29:06 -06:00
net selftests: fib_rule_tests: fix local IPv4 address typo 2019-06-19 08:18:04 +02:00
netfilter selftests: netfilter: missing error check when setting up veth interface 2019-06-22 08:15:15 +02:00
networking/timestamping selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
nsfs
ntb
powerpc powerpc/selftests: Wait all threads to join 2018-11-21 09:19:11 +01:00
prctl
proc proc: fix /proc/net/* after setns(2) 2019-03-13 14:02:32 -07:00
pstore selftests: pstore: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
ptp
ptrace
rcutorture rcutorture: Change units of onoff_interval to jiffies 2018-07-12 15:42:01 -07:00
rseq rseq/selftests: fix parametrized test with -fpie 2018-09-27 12:59:19 -06:00
rtc selftests: rtc: rtctest: add alarm test on minute boundary 2019-03-05 17:58:47 +01:00
seccomp selftests: skip seccomp get_metadata test if not real root 2019-04-05 22:33:07 +02:00
sigaltstack
size
sparc64 selftests: sparc64: Add missing SPDX License Identifiers 2018-06-18 09:29:20 -06:00
splice
static_keys selftests: static_keys: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
sync selftests: sync: add config fragment for testing sync framework 2018-06-18 09:11:10 -06:00
sysctl selftests: sysctl: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
tc-testing net/sched: act_sample: fix divide by zero in the traffic path 2019-04-17 08:38:41 +02:00
timers selftests/timers: Add missing fflush(stdout) calls 2019-06-19 08:18:04 +02:00
uevent selftests: uevent filtering 2018-05-23 15:24:22 -04:00
user selftests: user: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
vDSO selftests: vDSO - fix to return KSFT_SKIP when test couldn't be run 2018-07-11 10:14:26 -06:00
vm selftests: vm: install test_vmalloc.sh for run_vmtests 2019-06-25 11:35:56 +08:00
watchdog
x86 x86/selftests/pkeys: Fork() to check for state being preserved 2019-01-31 08:14:39 +01:00
zram selftests: zram: return Kselftest Skip code for skipped tests 2018-06-18 09:11:09 -06:00
.gitignore
gen_kselftest_tar.sh
kselftest.h selftests: kselftest: Remove outdated comment 2018-08-27 14:07:46 -06:00
kselftest_harness.h selftests: do not macro-expand failed assertion expressions 2019-01-26 09:32:38 +01:00
kselftest_install.sh
lib.mk selftests: Fix test errors related to lib.mk khdr target 2019-01-22 21:40:38 +01:00
Makefile selftests: add script to stress-test nft packet path vs. control plane 2018-12-17 09:24:31 +01:00