BPF_TRACE_ITER
return prog->expected_attach_type != BPF_TRACE_ITER;
case BPF_TRACE_ITER:
return atype == BPF_TRACE_RAW_TP || atype == BPF_TRACE_ITER;
int fd = skel_link_create(prog_fd, 0, BPF_TRACE_ITER);
int fd = skel_link_create(prog_fd, 0, BPF_TRACE_ITER);
int fd = skel_link_create(prog_fd, 0, BPF_TRACE_ITER);
int fd = skel_link_create(prog_fd, 0, BPF_TRACE_ITER);
case BPF_TRACE_ITER:
else if (prog->expected_attach_type == BPF_TRACE_ITER)
if (eatype == BPF_TRACE_ITER)
if (env->prog->expected_attach_type == BPF_TRACE_ITER)
case BPF_TRACE_ITER:
case BPF_TRACE_ITER:
case BPF_TRACE_ITER:
} else if (prog->expected_attach_type == BPF_TRACE_ITER) {
return prog->expected_attach_type == BPF_TRACE_ITER ?
return prog->expected_attach_type == BPF_TRACE_ITER ?
return prog->expected_attach_type == BPF_TRACE_ITER ?
if (!fn && prog->expected_attach_type == BPF_TRACE_ITER)
prog->expected_attach_type == BPF_TRACE_ITER)
case BPF_TRACE_ITER:
prog->expected_attach_type != BPF_TRACE_ITER)
if (bpf_program__expected_attach_type(prog) == BPF_TRACE_ITER)
case BPF_TRACE_ITER:
case BPF_TRACE_ITER:
[BPF_TRACE_ITER] = "trace_iter",
link_fd = bpf_link_create(prog_fd, target_fd, BPF_TRACE_ITER,
SEC_DEF("iter+", TRACING, BPF_TRACE_ITER, SEC_ATTACH_BTF, attach_iter),
SEC_DEF("iter.s+", TRACING, BPF_TRACE_ITER, SEC_ATTACH_BTF | SEC_SLEEPABLE, attach_iter),
.expected_attach_type = BPF_TRACE_ITER,