diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-06-15 15:38:51 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-07-05 11:29:44 +0000 |
| commit | e8b147c6e77e4568d3e7df74121a28e95ee8440a (patch) | |
| tree | 45e8e43e65a1ccb29d9eba5b68cd45965565afde /pkg/vcs/testos.go | |
| parent | 9a3d2957802872770199d00684132907508a6915 (diff) | |
pkg/bisect: try to drop instrumentation
Refactor Minimize().
As a part of Minimize(), attempt to drop all unnecessary instrumentation
and test whether the kernel is still crashing.
This should reduce the number of irrelevant crashes during bisection and
thus increase bisection result quality.
Diffstat (limited to 'pkg/vcs/testos.go')
| -rw-r--r-- | pkg/vcs/testos.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pkg/vcs/testos.go b/pkg/vcs/testos.go index fe7c3790f..cfc34cc23 100644 --- a/pkg/vcs/testos.go +++ b/pkg/vcs/testos.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/google/syzkaller/pkg/debugtracer" + "github.com/google/syzkaller/pkg/report/crash" "github.com/google/syzkaller/sys/targets" ) @@ -32,8 +33,11 @@ func (ctx *testos) EnvForCommit( return &BisectEnv{KernelConfig: kernelConfig}, nil } -func (ctx *testos) Minimize(target *targets.Target, original, baseline []byte, +func (ctx *testos) Minimize(target *targets.Target, original, baseline []byte, types []crash.Type, dt debugtracer.DebugTracer, pred func(test []byte) (BisectResult, error)) ([]byte, error) { + if len(baseline) == 0 { + return original, nil + } if res, err := pred(baseline); err != nil { return nil, err } else if res == BisectBad { |
