aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/manager
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2025-01-24 17:17:53 +0100
committerAleksandr Nogikh <nogikh@google.com>2025-01-29 10:31:50 +0000
commit94e13671726abbcf766f9b4aacd2ee04de59dcbd (patch)
tree699abaa69f3509857969ca2d7ff3ea001df14c88 /pkg/manager
parent6eea27042142c1c5e810b642deb831a8ed55b3da (diff)
pkg/rpcserver: refactor to remove Fatalf calls
Apply necessary changes to pkg/flatrpc and pkg/manager as well.
Diffstat (limited to 'pkg/manager')
-rw-r--r--pkg/manager/diff.go13
1 files changed, 7 insertions, 6 deletions
diff --git a/pkg/manager/diff.go b/pkg/manager/diff.go
index 17d056e1f..8218ce924 100644
--- a/pkg/manager/diff.go
+++ b/pkg/manager/diff.go
@@ -305,9 +305,10 @@ func (kc *kernelContext) BugFrames() (leaks, races []string) {
return nil, nil
}
-func (kc *kernelContext) MachineChecked(features flatrpc.Feature, syscalls map[*prog.Syscall]bool) queue.Source {
+func (kc *kernelContext) MachineChecked(features flatrpc.Feature,
+ syscalls map[*prog.Syscall]bool) (queue.Source, error) {
if len(syscalls) == 0 {
- log.Fatalf("all system calls are disabled")
+ return nil, fmt.Errorf("all system calls are disabled")
}
log.Logf(0, "%s: machine check complete", kc.name)
kc.features = features
@@ -319,7 +320,7 @@ func (kc *kernelContext) MachineChecked(features flatrpc.Feature, syscalls map[*
source = kc.source
}
opts := fuzzer.DefaultExecOpts(kc.cfg, features, kc.debug)
- return queue.DefaultOpts(source, opts)
+ return queue.DefaultOpts(source, opts), nil
}
func (kc *kernelContext) setupFuzzer(features flatrpc.Feature, syscalls map[*prog.Syscall]bool) queue.Source {
@@ -383,11 +384,11 @@ func (kc *kernelContext) setupFuzzer(features flatrpc.Feature, syscalls map[*pro
return fuzzerObj
}
-func (kc *kernelContext) CoverageFilter(modules []*vminfo.KernelModule) []uint64 {
+func (kc *kernelContext) CoverageFilter(modules []*vminfo.KernelModule) ([]uint64, error) {
kc.reportGenerator.Init(modules)
filters, err := PrepareCoverageFilters(kc.reportGenerator, kc.cfg, false)
if err != nil {
- log.Fatalf("failed to init coverage filter: %v", err)
+ return nil, fmt.Errorf("failed to init coverage filter: %w", err)
}
kc.coverFilters = filters
log.Logf(0, "cover filter size: %d", len(filters.ExecutorFilter))
@@ -402,7 +403,7 @@ func (kc *kernelContext) CoverageFilter(modules []*vminfo.KernelModule) []uint64
for pc := range filters.ExecutorFilter {
pcs = append(pcs, pc)
}
- return pcs
+ return pcs, nil
}
func (kc *kernelContext) fuzzerInstance(ctx context.Context, inst *vm.Instance, updInfo dispatcher.UpdateInfo) {