diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-06-25 11:08:48 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-06-25 12:24:31 +0000 |
| commit | 115165ffb1aa821fec75f7229ab4e81e20584745 (patch) | |
| tree | c4271aa40bcaac5e350707ea97bf091cab938e83 | |
| parent | 20dfeeccf56975c0bc5e488d897dfd90e2650641 (diff) | |
Revert "syz-manager: support stdin as port forwarding result"
This reverts commit 215eef4ad85fb6124af70d1e5c9729b69554a32b.
The gvisor "stdin" address still crashes in executor
Connection::Connect on atoi(ports) with ports == NULL.
The gvisor "stdin" address is not tested, so it's better to make it less
special rather than add more special cases in manager, executor,
and now also in Connection to handle it.
It still may crash in future after some changes.
| -rw-r--r-- | executor/executor_runner.h | 18 | ||||
| -rw-r--r-- | syz-manager/manager.go | 8 |
2 files changed, 5 insertions, 21 deletions
diff --git a/executor/executor_runner.h b/executor/executor_runner.h index 385b111c8..55a6c422c 100644 --- a/executor/executor_runner.h +++ b/executor/executor_runner.h @@ -765,23 +765,11 @@ static void SigsegvHandler(int sig, siginfo_t* info, void* ucontext) static void runner(char** argv, int argc) { - const char* const usage_msg = "usage: syz-executor runner <name> <manager-addr> " - "<manager-port> OR syz-executor runner <name> stdin"; - if (argc < 4 || argc > 5) - fail(usage_msg); - + if (argc != 5) + fail("usage: syz-executor runner <name> <manager-addr> <manager-port>"); const char* const name = argv[2]; const char* const manager_addr = argv[3]; - const char* manager_port = NULL; - - if (strcmp(manager_addr, "stdin") == 0) { - // Do not expect a port number for stdin. - if (argc == 5) - fail(usage_msg); - } else if (argc != 5) - fail(usage_msg); - else - manager_port = argv[4]; + const char* const manager_port = argv[4]; struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = kFdLimit; diff --git a/syz-manager/manager.go b/syz-manager/manager.go index 7a993287b..af9076fe6 100644 --- a/syz-manager/manager.go +++ b/syz-manager/manager.go @@ -905,12 +905,8 @@ func (mgr *Manager) runInstanceInner(index int, instanceName string, injectExec mgr.bootTime.Save(time.Since(start)) start = time.Now() - addr := fwdAddr - if strings.Contains(fwdAddr, ":") { - addrPort := strings.Split(fwdAddr, ":") - addr = fmt.Sprintf("%v %v", addrPort[0], addrPort[1]) - } - cmd := fmt.Sprintf("%v runner %v %v", executorBin, instanceName, addr) + addrPort := strings.Split(fwdAddr, ":") + cmd := fmt.Sprintf("%v runner %v %v %v", executorBin, instanceName, addrPort[0], addrPort[1]) _, rep, err := inst.Run(mgr.cfg.Timeouts.VMRunningTime, mgr.reporter, cmd, vm.ExitTimeout, vm.StopChan(mgr.vmStop), vm.InjectExecuting(injectExec), vm.EarlyFinishCb(func() { |
