pub trait Verifier {
// Required method
fn verify<C: ContextObject>(
prog: &[u8],
config: &Config,
sbpf_version: SBPFVersion,
function_registry: &FunctionRegistry<usize>,
syscall_registry: &FunctionRegistry<BuiltinFunction<C>>,
) -> Result<(), VerifierError>;
}
Expand description
eBPF Verifier
Required Methods§
Sourcefn verify<C: ContextObject>(
prog: &[u8],
config: &Config,
sbpf_version: SBPFVersion,
function_registry: &FunctionRegistry<usize>,
syscall_registry: &FunctionRegistry<BuiltinFunction<C>>,
) -> Result<(), VerifierError>
fn verify<C: ContextObject>( prog: &[u8], config: &Config, sbpf_version: SBPFVersion, function_registry: &FunctionRegistry<usize>, syscall_registry: &FunctionRegistry<BuiltinFunction<C>>, ) -> Result<(), VerifierError>
eBPF verification function that returns an error if the program does not meet its requirements.
Some examples of things the verifier may reject the program for:
- Program does not terminate.
- Unknown instructions.
- Bad formed instruction.
- Unknown eBPF syscall index.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.