On 8/25/22 5:37 PM, Kui-Feng Lee wrote:
Test iterators of vma, files, and tasks of tasks.
Ensure the API works appropriately to visit all tasks,
tasks in a process, or a particular task.
Signed-off-by: Kui-Feng Lee <kuifeng@xxxxxx>
---
.../selftests/bpf/prog_tests/bpf_iter.c | 282 ++++++++++++++++--
.../selftests/bpf/prog_tests/btf_dump.c | 2 +-
.../selftests/bpf/progs/bpf_iter_task.c | 9 +
.../selftests/bpf/progs/bpf_iter_task_file.c | 9 +-
.../selftests/bpf/progs/bpf_iter_task_vma.c | 7 +-tf
.../selftests/bpf/progs/bpf_iter_vma_offset.c | 37 +++
6 files changed, 322 insertions(+), 24 deletions(-)
create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_vma_offset.c
[...]
diff --git a/tools/testing/selftests/bpf/prog_tests/btf_dump.c b/tools/testing/selftests/bpf/prog_tests/btf_dump.c
index a1bae92be1fc..343e4506c5dd 100644
--- a/tools/testing/selftests/bpf/prog_tests/btf_dump.c
+++ b/tools/testing/selftests/bpf/prog_tests/btf_dump.c
@@ -764,7 +764,7 @@ static void test_btf_dump_struct_data(struct btf *btf, struct btf_dump *d,
/* union with nested struct */
TEST_BTF_DUMP_DATA(btf, d, "union", str, union bpf_iter_link_info, BTF_F_COMPACT,
- "(union bpf_iter_link_info){.map = (struct){.map_fd = (__u32)1,},.cgroup = (struct){.order = (enum bpf_cgroup_iter_order)BPF_ITER_SELF_ONLY,.cgroup_fd = (__u32)1,},}",
+ "(union bpf_iter_link_info){.map = (struct){.map_fd = (__u32)1,},.cgroup = (struct){.order = (enum bpf_cgroup_iter_order)BPF_ITER_SELF_ONLY,.cgroup_fd = (__u32)1,},.task = (struct){.tid = (__u32)1,.pid = (__u32)1,},}",
{ .cgroup = { .order = 1, .cgroup_fd = 1, }});
Looks like there is a merge conflict with the latest bpf. Please rebase
and resubmit.
diff --cc tools/testing/selftests/bpf/prog_tests/btf_dump.c
index 7b5bbe21b549,343e4506c5dd..000000000000
--- a/tools/testing/selftests/bpf/prog_tests/btf_dump.c
+++ b/tools/testing/selftests/bpf/prog_tests/btf_dump.c
@@@ -764,7 -764,7 +764,11 @@@ static void test_btf_dump_struct_data(s
/* union with nested struct */
TEST_BTF_DUMP_DATA(btf, d, "union", str, union bpf_iter_link_info,
BTF_F_COMPACT,
++<<<<<<< HEAD
+ "(union bpf_iter_link_info){.map = (struct){.map_fd =
(__u32)1,},.cgroup = (struct){.order = (enum
bpf_cgroup_iter_order)BPF_CGROUP_ITER_SELF_ONLY,.cgroup_fd = (__u32)1,},}",
++=======
+ "(union bpf_iter_link_info){.map = (struct){.map_fd =
(__u32)1,},.cgroup = (struct){.order = (enum
bpf_cgroup_iter_order)BPF_ITER_SELF_ONLY,.cgroup_fd = (__u32)1,},.task =
(struct){.tid = (__u32)1,.pid = (__u32)1,},}",
++>>>>>>> selftests/bpf: Test parameterized task BPF iterators.
{ .cgroup = { .order = 1, .cgroup_fd = 1, }});
/* struct skb with nested structs/unions; because type output is so
[...]