162306a36Sopenharmony_ci{ 262306a36Sopenharmony_ci "sleepable fentry accept", 362306a36Sopenharmony_ci .insns = { 462306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 562306a36Sopenharmony_ci BPF_EXIT_INSN(), 662306a36Sopenharmony_ci }, 762306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_TRACING, 862306a36Sopenharmony_ci .expected_attach_type = BPF_TRACE_FENTRY, 962306a36Sopenharmony_ci .kfunc = "bpf_fentry_test1", 1062306a36Sopenharmony_ci .result = ACCEPT, 1162306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 1262306a36Sopenharmony_ci .runs = -1, 1362306a36Sopenharmony_ci}, 1462306a36Sopenharmony_ci{ 1562306a36Sopenharmony_ci "sleepable fexit accept", 1662306a36Sopenharmony_ci .insns = { 1762306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 1862306a36Sopenharmony_ci BPF_EXIT_INSN(), 1962306a36Sopenharmony_ci }, 2062306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_TRACING, 2162306a36Sopenharmony_ci .expected_attach_type = BPF_TRACE_FENTRY, 2262306a36Sopenharmony_ci .kfunc = "bpf_fentry_test1", 2362306a36Sopenharmony_ci .result = ACCEPT, 2462306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 2562306a36Sopenharmony_ci .runs = -1, 2662306a36Sopenharmony_ci}, 2762306a36Sopenharmony_ci{ 2862306a36Sopenharmony_ci "sleepable fmod_ret accept", 2962306a36Sopenharmony_ci .insns = { 3062306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 3162306a36Sopenharmony_ci BPF_EXIT_INSN(), 3262306a36Sopenharmony_ci }, 3362306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_TRACING, 3462306a36Sopenharmony_ci .expected_attach_type = BPF_MODIFY_RETURN, 3562306a36Sopenharmony_ci .kfunc = "bpf_fentry_test1", 3662306a36Sopenharmony_ci .result = ACCEPT, 3762306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 3862306a36Sopenharmony_ci .runs = -1, 3962306a36Sopenharmony_ci}, 4062306a36Sopenharmony_ci{ 4162306a36Sopenharmony_ci "sleepable iter accept", 4262306a36Sopenharmony_ci .insns = { 4362306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 4462306a36Sopenharmony_ci BPF_EXIT_INSN(), 4562306a36Sopenharmony_ci }, 4662306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_TRACING, 4762306a36Sopenharmony_ci .expected_attach_type = BPF_TRACE_ITER, 4862306a36Sopenharmony_ci .kfunc = "task", 4962306a36Sopenharmony_ci .result = ACCEPT, 5062306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 5162306a36Sopenharmony_ci .runs = -1, 5262306a36Sopenharmony_ci}, 5362306a36Sopenharmony_ci{ 5462306a36Sopenharmony_ci "sleepable lsm accept", 5562306a36Sopenharmony_ci .insns = { 5662306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 5762306a36Sopenharmony_ci BPF_EXIT_INSN(), 5862306a36Sopenharmony_ci }, 5962306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_LSM, 6062306a36Sopenharmony_ci .kfunc = "bpf", 6162306a36Sopenharmony_ci .expected_attach_type = BPF_LSM_MAC, 6262306a36Sopenharmony_ci .result = ACCEPT, 6362306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 6462306a36Sopenharmony_ci .runs = -1, 6562306a36Sopenharmony_ci}, 6662306a36Sopenharmony_ci{ 6762306a36Sopenharmony_ci "sleepable uprobe accept", 6862306a36Sopenharmony_ci .insns = { 6962306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 7062306a36Sopenharmony_ci BPF_EXIT_INSN(), 7162306a36Sopenharmony_ci }, 7262306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_KPROBE, 7362306a36Sopenharmony_ci .kfunc = "bpf_fentry_test1", 7462306a36Sopenharmony_ci .result = ACCEPT, 7562306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 7662306a36Sopenharmony_ci .runs = -1, 7762306a36Sopenharmony_ci}, 7862306a36Sopenharmony_ci{ 7962306a36Sopenharmony_ci "sleepable raw tracepoint reject", 8062306a36Sopenharmony_ci .insns = { 8162306a36Sopenharmony_ci BPF_MOV64_IMM(BPF_REG_0, 0), 8262306a36Sopenharmony_ci BPF_EXIT_INSN(), 8362306a36Sopenharmony_ci }, 8462306a36Sopenharmony_ci .prog_type = BPF_PROG_TYPE_TRACING, 8562306a36Sopenharmony_ci .expected_attach_type = BPF_TRACE_RAW_TP, 8662306a36Sopenharmony_ci .kfunc = "sched_switch", 8762306a36Sopenharmony_ci .result = REJECT, 8862306a36Sopenharmony_ci .errstr = "Only fentry/fexit/fmod_ret, lsm, iter, uprobe, and struct_ops programs can be sleepable", 8962306a36Sopenharmony_ci .flags = BPF_F_SLEEPABLE, 9062306a36Sopenharmony_ci .runs = -1, 9162306a36Sopenharmony_ci}, 92