Trait Verifier

Source
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§

Source

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.

Implementors§