BPF_PROG_TYPE_KPROBE
BPF_PROG_TYPE(BPF_PROG_TYPE_KPROBE, kprobe,
if (prog_type == BPF_PROG_TYPE_KPROBE) {
if (prog_type == BPF_PROG_TYPE_KPROBE || prog_type == BPF_PROG_TYPE_PERF_EVENT) {
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
} else if (type == BPF_PROG_TYPE_KPROBE) {
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
prog->type == BPF_PROG_TYPE_KPROBE /* only for uprobes */ ||
case BPF_PROG_TYPE_KPROBE:
if (((is_kprobe || is_uprobe) && prog->type != BPF_PROG_TYPE_KPROBE) ||
if (prog->type == BPF_PROG_TYPE_KPROBE && prog->sleepable && !is_uprobe)
return prog->type == BPF_PROG_TYPE_KPROBE &&
return prog->type == BPF_PROG_TYPE_KPROBE &&
err = err ?: register_btf_kfunc_id_set(BPF_PROG_TYPE_KPROBE, &bpf_session_kfunc_set);
attr.prog_type = BPF_PROG_TYPE_KPROBE;
prog_fd = bpf_prog_load(BPF_PROG_TYPE_KPROBE, NULL, "GPL",
prog_fd = bpf_prog_load(BPF_PROG_TYPE_KPROBE, "det_arg_ctx",
[BPF_PROG_TYPE_KPROBE] = "kprobe",
{ BPF_PROG_TYPE_KPROBE, "bpf_user_pt_regs_t" },
(prog->type == BPF_PROG_TYPE_KPROBE || prog->type == BPF_PROG_TYPE_PERF_EVENT)) {
case BPF_PROG_TYPE_KPROBE:
case BPF_PROG_TYPE_KPROBE:
scale_test("loop6.bpf.o", BPF_PROG_TYPE_KPROBE, false);
{"kprobe/", {0, BPF_PROG_TYPE_KPROBE, 0}, {-EINVAL, 0} },
{"uprobe/", {0, BPF_PROG_TYPE_KPROBE, 0}, {-EINVAL, 0} },
{"kretprobe/", {0, BPF_PROG_TYPE_KPROBE, 0}, {-EINVAL, 0} },
{"uretprobe/", {0, BPF_PROG_TYPE_KPROBE, 0}, {-EINVAL, 0} },
.prog_type = BPF_PROG_TYPE_KPROBE,
{ "bpf_user_pt_regs_t", "pt_regs", BPF_PROG_TYPE_KPROBE },