tools/testing/selftests/bpf/verifier/sleepable.c

Source file repositories/reference/linux-study-clean/tools/testing/selftests/bpf/verifier/sleepable.c

File Facts

System
Linux kernel
Corpus path
tools/testing/selftests/bpf/verifier/sleepable.c
Extension
.c
Size
2138 bytes
Lines
105
Domain
Support Tooling And Documentation
Bucket
tools
Inferred role
Support Tooling And Documentation: implementation source
Status
source implementation candidate

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

{
	"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 accept",
	.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 = "sys_enter",
	.result = ACCEPT,
	.flags = BPF_F_SLEEPABLE,
	.runs = -1,
},

Annotation

Implementation Notes