diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-08-09 13:50:49 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-08-09 16:05:46 +0200 |
| commit | 922e8e27343704155b81f50ddd3316ec04c9d299 (patch) | |
| tree | ee5f2640775e336d923912c3249bac797dd33e05 /sys/linux | |
| parent | acf31536e9e570b2a5ee11a7818c96e4d177c808 (diff) | |
executor: mount binfmt_mist
We forgot to mount binfmt_misc. Mount it. Add a test.
Increase per-call timeout, otherwise last execve timesout.
Fix csource waiting for call completion at the end of program.
Diffstat (limited to 'sys/linux')
| -rw-r--r-- | sys/linux/test/binfmt | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sys/linux/test/binfmt b/sys/linux/test/binfmt new file mode 100644 index 000000000..9ab905824 --- /dev/null +++ b/sys/linux/test/binfmt @@ -0,0 +1,16 @@ +# Tests for binfmt_misc. +# Executor setups binfmt_misc with ./file0 interpreter for files with byte 0x01 at offset 0. + +execveat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', &(0x7f0000000100)=[0x0], &(0x7f0000000200)=[0x0], 0x0) # ENOENT +r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x42, 0x1ff) +close(r0) +execveat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', &(0x7f0000000100)=[0x0], &(0x7f0000000200)=[0x0], 0x0) # ENOEXEC +r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', 0x2, 0x0) +write(r1, &(0x7f0000000300)="01010101", 0x4) +close(r1) +execveat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', &(0x7f0000000100)=[0x0], &(0x7f0000000200)=[0x0], 0x0) # ENOENT +r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x42, 0x0) +close(r2) +execveat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', &(0x7f0000000100)=[0x0], &(0x7f0000000200)=[0x0], 0x0) # EACCES +fchmodat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x1ff) +execveat(0xffffffffffffff9c, &(0x7f0000000000)='./file1\x00', &(0x7f0000000100)=[0x0], &(0x7f0000000200)=[0x0], 0x0) # ENOEXEC |
