aboutsummaryrefslogtreecommitdiffstats
path: root/syz-verifier
diff options
context:
space:
mode:
Diffstat (limited to 'syz-verifier')
-rw-r--r--syz-verifier/verifier.go21
1 files changed, 11 insertions, 10 deletions
diff --git a/syz-verifier/verifier.go b/syz-verifier/verifier.go
index 4bcb0fa8a..33dabebe0 100644
--- a/syz-verifier/verifier.go
+++ b/syz-verifier/verifier.go
@@ -230,23 +230,24 @@ func (vrf *Verifier) SetPrintStatAtSIGINT() error {
func (vrf *Verifier) startInstances() {
for poolID, pi := range vrf.pools {
- go func(pi *poolInfo, poolID int) {
- for {
- // TODO: implement support for multiple VMs per Pool.
-
- vrf.createAndManageInstance(pi, poolID)
- }
- }(pi, poolID)
+ totalInstances := pi.pool.Count()
+ for vmID := 0; vmID < totalInstances; vmID++ {
+ go func(pi *poolInfo, poolID, vmID int) {
+ for {
+ vrf.createAndManageInstance(pi, poolID, vmID)
+ }
+ }(pi, poolID, vmID)
+ }
}
}
-func (vrf *Verifier) createAndManageInstance(pi *poolInfo, poolID int) {
- inst, err := pi.pool.Create(0)
+func (vrf *Verifier) createAndManageInstance(pi *poolInfo, poolID, vmID int) {
+ inst, err := pi.pool.Create(vmID)
if err != nil {
log.Fatalf("failed to create instance: %v", err)
}
defer inst.Close()
- defer vrf.srv.cleanup(poolID, 0)
+ defer vrf.srv.cleanup(poolID, vmID)
fwdAddr, err := inst.Forward(vrf.srv.port)
if err != nil {