Documentation ¶
Index ¶
- func PrependExecuting(rep *report.Report, lastExec []ExecRecord)
- func RunLocal(cfg *LocalConfig) error
- type Config
- type ExecRecord
- type LastExecuting
- type LocalConfig
- type Manager
- type Runner
- func (runner *Runner) Alive() bool
- func (runner *Runner) ConnectionLoop() error
- func (runner *Runner) Handshake(conn *flatrpc.Conn, cfg *handshakeConfig) error
- func (runner *Runner) MachineInfo() []byte
- func (runner *Runner) QueryStatus() []byte
- func (runner *Runner) SendCorpusTriaged() error
- func (runner *Runner) SendSignalUpdate(plus []uint64) error
- func (runner *Runner) Shutdown(crashed bool, extraExecs ...report.ExecutorInfo) []ExecRecord
- func (runner *Runner) Stop()
- type Server
- type Stats
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PrependExecuting ¶
func PrependExecuting(rep *report.Report, lastExec []ExecRecord)
func RunLocal ¶
func RunLocal(cfg *LocalConfig) error
Types ¶
type Config ¶
type Config struct { vminfo.Config Stats VMArch string VMType string RPC string VMLess bool // Hash adjacent PCs to form fuzzing feedback signal (otherwise just use coverage PCs as signal). UseCoverEdges bool // Filter signal/comparisons against target kernel text/data ranges. // Disabled for gVisor/Starnix which are not Linux. FilterSignal bool PrintMachineCheck bool // Abort early on syz-executor not replying to requests and print extra debugging information. DebugTimeouts bool Procs int Slowdown int // contains filtered or unexported fields }
type LastExecuting ¶
type LastExecuting struct {
// contains filtered or unexported fields
}
LastExecuting keeps the given number of last executed programs for each proc in a VM, and allows to query this set after a crash.
func MakeLastExecuting ¶
func MakeLastExecuting(procs, count int) *LastExecuting
func (*LastExecuting) Collect ¶
func (last *LastExecuting) Collect() []ExecRecord
Returns a sorted set of last executing programs. The records are sorted by time in ascending order. ExecRecord.Time is the difference in start executing time between this program and the program that started executing last.
type LocalConfig ¶
type LocalConfig struct { Config // syz-executor binary. Executor string // Temp dir where to run executor process, it's up to the caller to clean it up if necessary. Dir string // Handle ctrl+C and exit. HandleInterrupts bool // Run executor under gdb. GDB bool MaxSignal []uint64 CoverFilter []uint64 // RunLocal exits when the context is cancelled. Context context.Context MachineChecked func(features flatrpc.Feature, syscalls map[*prog.Syscall]bool) queue.Source }
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
func (*Runner) ConnectionLoop ¶
func (*Runner) MachineInfo ¶
func (*Runner) QueryStatus ¶
func (*Runner) SendCorpusTriaged ¶
func (*Runner) SendSignalUpdate ¶
func (*Runner) Shutdown ¶
func (runner *Runner) Shutdown(crashed bool, extraExecs ...report.ExecutorInfo) []ExecRecord
type Server ¶
type Server interface { Listen() error Close() error Port() int TriagedCorpus() CreateInstance(id int, injectExec chan<- bool, updInfo dispatcher.UpdateInfo) chan error ShutdownInstance(id int, crashed bool, extraExecs ...report.ExecutorInfo) ([]ExecRecord, []byte) StopFuzzing(id int) DistributeSignalDelta(plus signal.Signal) }
Click to show internal directories.
Click to hide internal directories.