summaryrefslogtreecommitdiff
path: root/tools/testing
diff options
context:
space:
mode:
authorMartin KaFai Lau <martin.lau@kernel.org>2023-11-08 00:26:03 +0300
committerMartin KaFai Lau <martin.lau@kernel.org>2023-11-08 02:28:06 +0300
commit8e1b802503bb630eafc3e97b2daf755368ec96e1 (patch)
tree3de609f4f0ac0e64b1684ce0007776d92833b703 /tools/testing
parentd84b139f53e8fa8048f16814c6b2a53d7bc15c3d (diff)
parent3c5864ba9cf912ff9809f315d28f296f21563cce (diff)
downloadlinux-8e1b802503bb630eafc3e97b2daf755368ec96e1.tar.xz
Merge branch 'Let BPF verifier consider {task,cgroup} is trusted in bpf_iter_reg'
Chuyi Zhou says: ==================== The patchset aims to let the BPF verivier consider bpf_iter__cgroup->cgroup and bpf_iter__task->task is trusted suggested by Alexei[1]. Please see individual patches for more details. And comments are always welcome. Link[1]:https://lore.kernel.org/bpf/20231022154527.229117-1-zhouchuyi@bytedance.com/T/#mb57725edc8ccdd50a1b165765c7619b4d65ed1b0 v2->v1: * Patch #1: Add Yonghong's ack and add description of similar case in log. * Patch #2: Add Yonghong's ack ==================== Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
Diffstat (limited to 'tools/testing')
-rw-r--r--tools/testing/selftests/bpf/progs/iters_css_task.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/tools/testing/selftests/bpf/progs/iters_css_task.c b/tools/testing/selftests/bpf/progs/iters_css_task.c
index e180aa1b1d52..9ac758649cb8 100644
--- a/tools/testing/selftests/bpf/progs/iters_css_task.c
+++ b/tools/testing/selftests/bpf/progs/iters_css_task.c
@@ -56,12 +56,9 @@ SEC("?iter/cgroup")
int cgroup_id_printer(struct bpf_iter__cgroup *ctx)
{
struct seq_file *seq = ctx->meta->seq;
- struct cgroup *cgrp, *acquired;
+ struct cgroup *cgrp = ctx->cgroup;
struct cgroup_subsys_state *css;
struct task_struct *task;
- u64 cgrp_id;
-
- cgrp = ctx->cgroup;
/* epilogue */
if (cgrp == NULL) {
@@ -73,20 +70,15 @@ int cgroup_id_printer(struct bpf_iter__cgroup *ctx)
if (ctx->meta->seq_num == 0)
BPF_SEQ_PRINTF(seq, "prologue\n");
- cgrp_id = cgroup_id(cgrp);
-
- BPF_SEQ_PRINTF(seq, "%8llu\n", cgrp_id);
+ BPF_SEQ_PRINTF(seq, "%8llu\n", cgroup_id(cgrp));
- acquired = bpf_cgroup_from_id(cgrp_id);
- if (!acquired)
- return 0;
- css = &acquired->self;
+ css = &cgrp->self;
css_task_cnt = 0;
bpf_for_each(css_task, task, css, CSS_TASK_ITER_PROCS) {
if (task->pid == target_pid)
css_task_cnt++;
}
- bpf_cgroup_release(acquired);
+
return 0;
}