subsystem

package
v0.0.0-...-34889ee Latest Latest
Warning

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

Go to latest
Published: May 28, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterList

func RegisterList(name string, list []*Subsystem)

Types

type Crash

type Crash struct {
	GuiltyPath string
	SyzRepro   []byte
}

Crash represents the subset of the available crash information that's required for subsystem inference.

type Extractor

type Extractor struct {
	// contains filtered or unexported fields
}

Extractor deduces the subsystems from the list of crashes.

func MakeExtractor

func MakeExtractor(list []*Subsystem) *Extractor

func (*Extractor) Extract

func (e *Extractor) Extract(crashes []*Crash) []*Subsystem

func (*Extractor) TracedExtract

func (e *Extractor) TracedExtract(crashes []*Crash, tracer debugtracer.DebugTracer) []*Subsystem

type PathMatcher

type PathMatcher struct {
	// contains filtered or unexported fields
}

func MakePathMatcher

func MakePathMatcher(list []*Subsystem) *PathMatcher

func (*PathMatcher) Match

func (p *PathMatcher) Match(path string) []*Subsystem

type PathRule

type PathRule struct {
	IncludeRegexp string
	// ExcludeRegexps are tested before IncludeRegexp.
	ExcludeRegexp string
}

PathRule describes the part of the directory tree belonging to a single subsystem.

func (*PathRule) IsEmpty

func (pr *PathRule) IsEmpty() bool

type Service

type Service struct {
	*Extractor
	// contains filtered or unexported fields
}

func ListService

func ListService(name string) *Service

func MakeService

func MakeService(list []*Subsystem) (*Service, error)

func MustMakeService

func MustMakeService(list []*Subsystem) *Service

func (*Service) ByName

func (s *Service) ByName(name string) *Subsystem

func (*Service) Children

func (s *Service) Children(parent *Subsystem) []*Subsystem

func (*Service) List

func (s *Service) List() []*Subsystem

type Subsystem

type Subsystem struct {
	Name        string
	PathRules   []PathRule
	Syscalls    []string
	Lists       []string
	Maintainers []string
	Parents     []*Subsystem
	// If NoReminders is true, there should be no monthly reports for the subsystem.
	NoReminders bool
	// If NoIndirectCc is true, the subsystem lists are not tagged in sub-subsystem reports.
	NoIndirectCc bool
}

func FilterList

func FilterList(list []*Subsystem, filter func(*Subsystem) bool) []*Subsystem

func GetList

func GetList(name string) []*Subsystem

func (*Subsystem) Emails

func (subsystem *Subsystem) Emails() []string

Emails returns the list of emails related to the subsystem.

func (*Subsystem) ReachableParents

func (subsystem *Subsystem) ReachableParents() map[*Subsystem]struct{}

ReachableParents returns the set of subsystems reachable from the current one.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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