diff options
Diffstat (limited to 'syz-manager')
| -rw-r--r-- | syz-manager/manager.go | 6 | ||||
| -rw-r--r-- | syz-manager/snapshot.go | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 20b815422..f951db46c 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -652,8 +652,10 @@ func (mgr *Manager) runInstanceInner(ctx context.Context, inst *vm.Instance, inj return nil, nil, fmt.Errorf("failed to parse manager's address") } cmd := fmt.Sprintf("%v runner %v %v %v", executorBin, inst.Index(), host, port) - _, rep, err := inst.Run(mgr.cfg.Timeouts.VMRunningTime, mgr.reporter, cmd, - vm.ExitTimeout, vm.StopContext(ctx), vm.InjectExecuting(injectExec), + ctxTimeout, cancel := context.WithTimeout(ctx, mgr.cfg.Timeouts.VMRunningTime) + defer cancel() + _, rep, err := inst.Run(ctxTimeout, mgr.reporter, cmd, + vm.ExitTimeout, vm.InjectExecuting(injectExec), finishCb, ) if err != nil { diff --git a/syz-manager/snapshot.go b/syz-manager/snapshot.go index 21e6ed62b..f2a01961e 100644 --- a/syz-manager/snapshot.go +++ b/syz-manager/snapshot.go @@ -41,7 +41,9 @@ func (mgr *Manager) snapshotLoop(ctx context.Context, inst *vm.Instance) error { // All network connections (including ssh) will break once we start restoring snapshots. // So we start a background process and log to /dev/kmsg. cmd := fmt.Sprintf("nohup %v exec snapshot 1>/dev/null 2>/dev/kmsg </dev/null &", executor) - if _, _, err := inst.Run(time.Hour, mgr.reporter, cmd); err != nil { + ctxTimeout, cancel := context.WithTimeout(ctx, time.Hour) + defer cancel() + if _, _, err := inst.Run(ctxTimeout, mgr.reporter, cmd); err != nil { return err } |
