From 2763e04c22143367e0b613ac612c537b6d94d2c9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 25 Jul 2018 16:45:57 +0200 Subject: tools/syz-runtest: add tool for program unit testing The tool is run as: $ syz-runtest -config manager.config This runs all programs from sys/*/test/* in different modes on actual VMs and checks results. Fixes #603 --- sys/linux/test/fd_assignment | 9 +++++++++ sys/linux/test/fuse_deadlock | 11 +++++++++++ sys/linux/test/pipe | 3 +++ sys/linux/test/vnet_tun | 2 ++ 4 files changed, 25 insertions(+) create mode 100644 sys/linux/test/fd_assignment create mode 100644 sys/linux/test/fuse_deadlock create mode 100644 sys/linux/test/pipe create mode 100644 sys/linux/test/vnet_tun (limited to 'sys/linux') diff --git a/sys/linux/test/fd_assignment b/sys/linux/test/fd_assignment new file mode 100644 index 000000000..0aa82a8b2 --- /dev/null +++ b/sys/linux/test/fd_assignment @@ -0,0 +1,9 @@ +# Tests that fd's are always allocated starting from 3. + +close(0x3) # EBADF +close(0x4) # EBADF +close(0x5) # EBADF +pipe(&(0x7f0000000000)={0x0, 0x0}) +close(0x3) +close(0x4) +close(0x5) # EBADF diff --git a/sys/linux/test/fuse_deadlock b/sys/linux/test/fuse_deadlock new file mode 100644 index 000000000..2c24cf53a --- /dev/null +++ b/sys/linux/test/fuse_deadlock @@ -0,0 +1,11 @@ +# Test for deadlock in fuse. +# Some calls are commented out for now, because it actually deadlocks kernel. + +mkdirat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0) +r0 = openat$fuse(0xffffffffffffff9c, &(0x7f0000000640)='/dev/fuse\x00', 0x2, 0x0) +mount$fuse(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000300)='fuse\x00', 0x0, &(0x7f0000000400)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0x4000}, 0x2c, {'user_id', 0x3d}, 0x2c, {'group_id', 0x3d}, 0x2c}) +#read$FUSE(r0, &(0x7f0000002000), 0x1000) +#pread64(r0, &(0x7f0000000540)=""/236, 0xec, 0x0) +#write$FUSE_INIT(r0, &(0x7f0000000100)={0x50, 0x0, 0x1, {0x7, 0x1b}}, 0x50) +#mkdirat(0xffffffffffffff9c, &(0x7f0000000500)='./file0/file0\x00', 0x0) +#write$FUSE_NOTIFY_INVAL_ENTRY(r0, &(0x7f00000000c0)={0x29, 0x3, 0x0, {0x1, 0x8, 0x0, 'group_id'}}, 0x29) diff --git a/sys/linux/test/pipe b/sys/linux/test/pipe new file mode 100644 index 000000000..47daff19d --- /dev/null +++ b/sys/linux/test/pipe @@ -0,0 +1,3 @@ +pipe(&(0x7f0000000000)={0x0, 0x0}) +close(r0) +close(r1) diff --git a/sys/linux/test/vnet_tun b/sys/linux/test/vnet_tun new file mode 100644 index 000000000..bb88fc9d6 --- /dev/null +++ b/sys/linux/test/vnet_tun @@ -0,0 +1,2 @@ +syz_emit_ethernet() +syz_emit_ethernet() -- cgit mrf-deployment