BPF_MODIFY_RETURN
case BPF_MODIFY_RETURN:
case BPF_MODIFY_RETURN:
prog->expected_attach_type != BPF_MODIFY_RETURN) {
case BPF_MODIFY_RETURN:
eatype == BPF_MODIFY_RETURN || eatype == BPF_TRACE_FSESSION)
case BPF_MODIFY_RETURN:
case BPF_MODIFY_RETURN:
eatype == BPF_MODIFY_RETURN) {
case BPF_MODIFY_RETURN:
} else if (prog->expected_attach_type == BPF_MODIFY_RETURN) {
case BPF_MODIFY_RETURN:
prog->expected_attach_type == BPF_MODIFY_RETURN) &&
case BPF_MODIFY_RETURN:
case BPF_MODIFY_RETURN: return "mod_ret";
case BPF_MODIFY_RETURN:
case BPF_MODIFY_RETURN:
[BPF_MODIFY_RETURN] = "modify_return",
SEC_DEF("fmod_ret+", TRACING, BPF_MODIFY_RETURN, SEC_ATTACH_BTF, attach_trace),
SEC_DEF("fmod_ret.s+", TRACING, BPF_MODIFY_RETURN, SEC_ATTACH_BTF | SEC_SLEEPABLE, attach_trace),
opts.expected_attach_type = BPF_MODIFY_RETURN;
fmod_ret_fd = bpf_link_create(prog_fd, 0, BPF_MODIFY_RETURN, &link_opts);
.expected_attach_type = BPF_MODIFY_RETURN,