mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +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=""):
|
def bpftool_map_list(expected=None, ns=""):
|
||||||
_, maps = bpftool("map show", JSON=True, ns=ns, fail=True)
|
_, maps = bpftool("map show", JSON=True, ns=ns, fail=True)
|
||||||
# Remove the base maps
|
# Remove the base maps
|
||||||
for m in base_maps:
|
maps = [m for m in maps if m not in base_maps and m.get('name') not in base_map_names]
|
||||||
if m in maps:
|
|
||||||
maps.remove(m)
|
|
||||||
if expected is not None:
|
if expected is not None:
|
||||||
if len(maps) != expected:
|
if len(maps) != expected:
|
||||||
fail(True, "%d BPF maps loaded, expected %d" %
|
fail(True, "%d BPF maps loaded, expected %d" %
|
||||||
@ -770,6 +768,9 @@ ret, progs = bpftool("prog", fail=False)
|
|||||||
skip(ret != 0, "bpftool not installed")
|
skip(ret != 0, "bpftool not installed")
|
||||||
base_progs = progs
|
base_progs = progs
|
||||||
_, base_maps = bpftool("map")
|
_, base_maps = bpftool("map")
|
||||||
|
base_map_names = [
|
||||||
|
'pid_iter.rodata' # created on each bpftool invocation
|
||||||
|
]
|
||||||
|
|
||||||
# Check netdevsim
|
# Check netdevsim
|
||||||
ret, out = cmd("modprobe netdevsim", fail=False)
|
ret, out = cmd("modprobe netdevsim", fail=False)
|
||||||
|
Loading…
Reference in New Issue
Block a user