| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- {
- "sleepable fentry accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_TRACING,
- .expected_attach_type = BPF_TRACE_FENTRY,
- .kfunc = "bpf_fentry_test1",
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable fexit accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_TRACING,
- .expected_attach_type = BPF_TRACE_FENTRY,
- .kfunc = "bpf_fentry_test1",
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable fmod_ret accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_TRACING,
- .expected_attach_type = BPF_MODIFY_RETURN,
- .kfunc = "bpf_fentry_test1",
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable iter accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_TRACING,
- .expected_attach_type = BPF_TRACE_ITER,
- .kfunc = "task",
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable lsm accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_LSM,
- .kfunc = "bpf",
- .expected_attach_type = BPF_LSM_MAC,
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable uprobe accept",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_KPROBE,
- .kfunc = "bpf_fentry_test1",
- .result = ACCEPT,
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
- {
- "sleepable raw tracepoint reject",
- .insns = {
- BPF_MOV64_IMM(BPF_REG_0, 0),
- BPF_EXIT_INSN(),
- },
- .prog_type = BPF_PROG_TYPE_TRACING,
- .expected_attach_type = BPF_TRACE_RAW_TP,
- .kfunc = "sched_switch",
- .result = REJECT,
- .errstr = "Only fentry/fexit/fmod_ret, lsm, iter, uprobe, and struct_ops programs can be sleepable",
- .flags = BPF_F_SLEEPABLE,
- .runs = -1,
- },
|