aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/test/binfmt16
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