diff options
| author | Andrei Vagin <avagin@google.com> | 2021-09-29 22:52:42 -0700 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2021-09-30 14:32:29 +0200 |
| commit | 0f01403dc7473fbc755ecd7178284237477c64d8 (patch) | |
| tree | 08f13cd79817bcd74b298618b472871354dff703 /pkg | |
| parent | be530f6c7e0a2e1f66d03a5ad71d209302219d37 (diff) | |
executor: fail if the first argument isn't a known command
We have seen cases when a test program re-execed the current binary:
11:53:29 executing program 0:
openat$zero(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0)
r0 = openat(0xffffffffffffff9c, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0)
lseek(r0, 0x4000000000000000, 0x4)
execveat(r0, &(0x7f0000000080)='\x00', 0x0, 0x0, 0x1000)
In such cases, we have to be sure that executor will not print SYZFAIL
log messages and will not exit with kFailStatus.
Since a659b3f1, syzkaller reports bugs in all these cases.
Fixes: a659b3f1dc88 ("pkg/report: detect executor failures")
Signed-off-by: Andrei Vagin <avagin@google.com>
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/ipc/ipc.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pkg/ipc/ipc.go b/pkg/ipc/ipc.go index 1d6ba4f40..f6bf3f61f 100644 --- a/pkg/ipc/ipc.go +++ b/pkg/ipc/ipc.go @@ -188,7 +188,7 @@ func MakeEnv(config *Config, pid int) (*Env, error) { out: outmem, inFile: inf, outFile: outf, - bin: strings.Split(config.Executor, " "), + bin: append(strings.Split(config.Executor, " "), "exec"), pid: pid, config: config, } |
