mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 02:34:01 +08:00
selftests/bpf/test_offload.py: Filter bpftool internal map when counting maps
A few of the tests in test_offload.py expects to see a certain number of
maps created, and checks this by counting the number of maps returned by
bpftool. There is already a filter that will remove any maps already there
at the beginning of the test, but bpftool now creates a map for the PID
iterator rodata on each invocation, which makes the map count wrong. Fix
this by also filtering the pid_iter.rodata map by name when counting.
Fixes: d53dee3fe0
("tools/bpftool: Show info for processes holding BPF map/prog/link/btf FDs")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Link: https://lore.kernel.org/bpf/160752226387.110217.9887866138149423444.stgit@toke.dk
This commit is contained in:
parent
766e62b7fc
commit
8158cad134
@ -184,9 +184,7 @@ def bpftool_prog_list(expected=None, ns=""):
|
||||
def bpftool_map_list(expected=None, ns=""):
|
||||
_, maps = bpftool("map show", JSON=True, ns=ns, fail=True)
|
||||
# Remove the base maps
|
||||
for m in base_maps:
|
||||
if m in maps:
|
||||
maps.remove(m)
|
||||
maps = [m for m in maps if m not in base_maps and m.get('name') not in base_map_names]
|
||||
if expected is not None:
|
||||
if len(maps) != expected:
|
||||
fail(True, "%d BPF maps loaded, expected %d" %
|
||||
@ -770,6 +768,9 @@ ret, progs = bpftool("prog", fail=False)
|
||||
skip(ret != 0, "bpftool not installed")
|
||||
base_progs = progs
|
||||
_, base_maps = bpftool("map")
|
||||
base_map_names = [
|
||||
'pid_iter.rodata' # created on each bpftool invocation
|
||||
]
|
||||
|
||||
# Check netdevsim
|
||||
ret, out = cmd("modprobe netdevsim", fail=False)
|
||||
|
Loading…
Reference in New Issue
Block a user