bisect

package
v0.0.0-...-f0d17a2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 6, 2023 License: Apache-2.0, Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(cfg *Config) ([]*vcs.Commit, *report.Report, error)

Run does the bisection and returns:

  • if bisection is conclusive, the single cause/fix commit
  • for cause bisection report is the crash on the cause commit
  • for fix bisection report is nil
  • if bisection is inconclusive, range of potential cause/fix commits
  • report is nil in such case
  • if the crash still happens on the oldest release/HEAD (for cause/fix bisection correspondingly), no commits and the crash report on the oldest release/HEAD
  • if the crash is not reproduced on the start commit, an error

Types

type Config

type Config struct {
	Trace     io.Writer
	Fix       bool
	BinDir    string
	DebugDir  string
	Kernel    KernelConfig
	Syzkaller SyzkallerConfig
	Repro     ReproConfig
	Manager   mgrconfig.Config
}

type KernelConfig

type KernelConfig struct {
	Repo      string
	Branch    string
	Commit    string
	Cmdline   string
	Sysctl    string
	Config    []byte
	Userspace string
}

type ReproConfig

type ReproConfig struct {
	Opts []byte
	Syz  []byte
	C    []byte
}

type SyzkallerConfig

type SyzkallerConfig struct {
	Repo         string
	Commit       string
	Descriptions string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL