diff options
author | Kui-Feng Lee <kuifeng@fb.com> | 2022-09-26 11:49:56 -0700 |
---|---|---|
committer | Andrii Nakryiko <andrii@kernel.org> | 2022-09-28 16:30:03 -0700 |
commit | b3e1331eb925a45df1cc5d02a725e5ea70da0e2e (patch) | |
tree | fabc71d53ef9ba11a14bdc8a5a8395ade410299f /tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c | |
parent | 2c4fe44fb020f3cce904da2ba9e42bb1c118e8a3 (diff) |
selftests/bpf: Test parameterized task BPF iterators.
Test iterators of vma, files and 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@fb.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Acked-by: Martin KaFai Lau <martin.lau@kernel.org>
Link: https://lore.kernel.org/bpf/20220926184957.208194-5-kuifeng@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c b/tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c index 4ea6a37d1345..dd923dc637d5 100644 --- a/tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c +++ b/tools/testing/selftests/bpf/progs/bpf_iter_task_vma.c @@ -20,6 +20,8 @@ char _license[] SEC("license") = "GPL"; #define D_PATH_BUF_SIZE 1024 char d_path_buf[D_PATH_BUF_SIZE] = {}; __u32 pid = 0; +__u32 one_task = 0; +__u32 one_task_error = 0; SEC("iter/task_vma") int proc_maps(struct bpf_iter__task_vma *ctx) { @@ -33,8 +35,11 @@ SEC("iter/task_vma") int proc_maps(struct bpf_iter__task_vma *ctx) return 0; file = vma->vm_file; - if (task->tgid != pid) + if (task->tgid != pid) { + if (one_task) + one_task_error = 1; return 0; + } perm_str[0] = (vma->vm_flags & VM_READ) ? 'r' : '-'; perm_str[1] = (vma->vm_flags & VM_WRITE) ? 'w' : '-'; perm_str[2] = (vma->vm_flags & VM_EXEC) ? 'x' : '-'; |