From 9ccc1d4565436890480aea12b6ae347384b2d1ab Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Tue, 14 Aug 2018 16:39:50 -0700 Subject: sys/linux: add uinput support --- executor/defs.h | 10 ++--- executor/syscalls.h | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 120 insertions(+), 5 deletions(-) (limited to 'executor') diff --git a/executor/defs.h b/executor/defs.h index dd8477861..15c71a0d3 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "371f5cdf7a566e7e713ac05de90dcd82eea01e96" +#define SYZ_REVISION "8600e9d5ccdb9ef2faf96e906017cd916330b6cd" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -70,7 +70,7 @@ #if GOARCH_amd64 #define GOARCH "amd64" -#define SYZ_REVISION "984f61ad7433dadde7090f073c7199f6a678d440" +#define SYZ_REVISION "59a1b42d93f9b942a6d7feb28265f13e5f18f59b" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -80,7 +80,7 @@ #if GOARCH_arm #define GOARCH "arm" -#define SYZ_REVISION "40fd31fbf1a70e5b6dc22c8c9423e1ddda42cbf1" +#define SYZ_REVISION "b0dd9abc7a5acfffcc6da3159ae9df0700a84a4a" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -90,7 +90,7 @@ #if GOARCH_arm64 #define GOARCH "arm64" -#define SYZ_REVISION "8c06a1a26ab471ea14705baab58d60e9a706c1c9" +#define SYZ_REVISION "a704fd29cde1884c766605de62de1d34ec317232" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 @@ -100,7 +100,7 @@ #if GOARCH_ppc64le #define GOARCH "ppc64le" -#define SYZ_REVISION "a5a3a92ab256e785d43c4b58a12210c58ed858c5" +#define SYZ_REVISION "796e339f01a361b1b5c04a4c0cd5a06c59b26955" #define SYZ_EXECUTOR_USES_FORK_SERVER 1 #define SYZ_EXECUTOR_USES_SHMEM 1 #define SYZ_PAGE_SIZE 4096 diff --git a/executor/syscalls.h b/executor/syscalls.h index 79174943b..e8d123617 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -1847,6 +1847,27 @@ const call_t syscalls[] = { {"ioctl$UFFDIO_UNREGISTER", 54}, {"ioctl$UFFDIO_WAKE", 54}, {"ioctl$UFFDIO_ZEROPAGE", 54}, + {"ioctl$UI_ABS_SETUP", 54}, + {"ioctl$UI_BEGIN_FF_ERASE", 54}, + {"ioctl$UI_BEGIN_FF_UPLOAD", 54}, + {"ioctl$UI_DEV_CREATE", 54}, + {"ioctl$UI_DEV_DESTROY", 54}, + {"ioctl$UI_DEV_SETUP", 54}, + {"ioctl$UI_END_FF_ERASE", 54}, + {"ioctl$UI_END_FF_UPLOAD", 54}, + {"ioctl$UI_GET_SYSNAME", 54}, + {"ioctl$UI_GET_VERSION", 54}, + {"ioctl$UI_SET_ABSBIT", 54}, + {"ioctl$UI_SET_EVBIT", 54}, + {"ioctl$UI_SET_FFBIT", 54}, + {"ioctl$UI_SET_KEYBIT", 54}, + {"ioctl$UI_SET_LEDBIT", 54}, + {"ioctl$UI_SET_MSCBIT", 54}, + {"ioctl$UI_SET_PHYS", 54}, + {"ioctl$UI_SET_PROPBIT", 54}, + {"ioctl$UI_SET_RELBIT", 54}, + {"ioctl$UI_SET_SNDBIT", 54}, + {"ioctl$UI_SET_SWBIT", 54}, {"ioctl$VHOST_GET_FEATURES", 54}, {"ioctl$VHOST_GET_VRING_BASE", 54}, {"ioctl$VHOST_GET_VRING_ENDIAN", 54}, @@ -2949,6 +2970,7 @@ const call_t syscalls[] = { {"write$cgroup_type", 4}, {"write$evdev", 4}, {"write$eventfd", 4}, + {"write$input_event", 4}, {"write$selinux_access", 4}, {"write$selinux_context", 4}, {"write$selinux_create", 4}, @@ -2957,6 +2979,7 @@ const call_t syscalls[] = { {"write$selinux_validatetrans", 4}, {"write$sndseq", 4}, {"write$tun", 4}, + {"write$uinput_user_dev", 4}, {"write$vnet", 4}, {"writev", 146}, @@ -3963,6 +3986,27 @@ const call_t syscalls[] = { {"ioctl$UFFDIO_UNREGISTER", 16}, {"ioctl$UFFDIO_WAKE", 16}, {"ioctl$UFFDIO_ZEROPAGE", 16}, + {"ioctl$UI_ABS_SETUP", 16}, + {"ioctl$UI_BEGIN_FF_ERASE", 16}, + {"ioctl$UI_BEGIN_FF_UPLOAD", 16}, + {"ioctl$UI_DEV_CREATE", 16}, + {"ioctl$UI_DEV_DESTROY", 16}, + {"ioctl$UI_DEV_SETUP", 16}, + {"ioctl$UI_END_FF_ERASE", 16}, + {"ioctl$UI_END_FF_UPLOAD", 16}, + {"ioctl$UI_GET_SYSNAME", 16}, + {"ioctl$UI_GET_VERSION", 16}, + {"ioctl$UI_SET_ABSBIT", 16}, + {"ioctl$UI_SET_EVBIT", 16}, + {"ioctl$UI_SET_FFBIT", 16}, + {"ioctl$UI_SET_KEYBIT", 16}, + {"ioctl$UI_SET_LEDBIT", 16}, + {"ioctl$UI_SET_MSCBIT", 16}, + {"ioctl$UI_SET_PHYS", 16}, + {"ioctl$UI_SET_PROPBIT", 16}, + {"ioctl$UI_SET_RELBIT", 16}, + {"ioctl$UI_SET_SNDBIT", 16}, + {"ioctl$UI_SET_SWBIT", 16}, {"ioctl$VHOST_GET_FEATURES", 16}, {"ioctl$VHOST_GET_VRING_BASE", 16}, {"ioctl$VHOST_GET_VRING_ENDIAN", 16}, @@ -5103,6 +5147,7 @@ const call_t syscalls[] = { {"write$cgroup_type", 1}, {"write$evdev", 1}, {"write$eventfd", 1}, + {"write$input_event", 1}, {"write$selinux_access", 1}, {"write$selinux_context", 1}, {"write$selinux_create", 1}, @@ -5111,6 +5156,7 @@ const call_t syscalls[] = { {"write$selinux_validatetrans", 1}, {"write$sndseq", 1}, {"write$tun", 1}, + {"write$uinput_user_dev", 1}, {"write$vnet", 1}, {"writev", 20}, @@ -6084,6 +6130,27 @@ const call_t syscalls[] = { {"ioctl$UFFDIO_UNREGISTER", 54}, {"ioctl$UFFDIO_WAKE", 54}, {"ioctl$UFFDIO_ZEROPAGE", 54}, + {"ioctl$UI_ABS_SETUP", 54}, + {"ioctl$UI_BEGIN_FF_ERASE", 54}, + {"ioctl$UI_BEGIN_FF_UPLOAD", 54}, + {"ioctl$UI_DEV_CREATE", 54}, + {"ioctl$UI_DEV_DESTROY", 54}, + {"ioctl$UI_DEV_SETUP", 54}, + {"ioctl$UI_END_FF_ERASE", 54}, + {"ioctl$UI_END_FF_UPLOAD", 54}, + {"ioctl$UI_GET_SYSNAME", 54}, + {"ioctl$UI_GET_VERSION", 54}, + {"ioctl$UI_SET_ABSBIT", 54}, + {"ioctl$UI_SET_EVBIT", 54}, + {"ioctl$UI_SET_FFBIT", 54}, + {"ioctl$UI_SET_KEYBIT", 54}, + {"ioctl$UI_SET_LEDBIT", 54}, + {"ioctl$UI_SET_MSCBIT", 54}, + {"ioctl$UI_SET_PHYS", 54}, + {"ioctl$UI_SET_PROPBIT", 54}, + {"ioctl$UI_SET_RELBIT", 54}, + {"ioctl$UI_SET_SNDBIT", 54}, + {"ioctl$UI_SET_SWBIT", 54}, {"ioctl$VHOST_GET_FEATURES", 54}, {"ioctl$VHOST_GET_VRING_BASE", 54}, {"ioctl$VHOST_GET_VRING_ENDIAN", 54}, @@ -7213,6 +7280,7 @@ const call_t syscalls[] = { {"write$cgroup_type", 4}, {"write$evdev", 4}, {"write$eventfd", 4}, + {"write$input_event", 4}, {"write$selinux_access", 4}, {"write$selinux_context", 4}, {"write$selinux_create", 4}, @@ -7221,6 +7289,7 @@ const call_t syscalls[] = { {"write$selinux_validatetrans", 4}, {"write$sndseq", 4}, {"write$tun", 4}, + {"write$uinput_user_dev", 4}, {"write$vnet", 4}, {"writev", 146}, @@ -8190,6 +8259,27 @@ const call_t syscalls[] = { {"ioctl$UFFDIO_UNREGISTER", 29}, {"ioctl$UFFDIO_WAKE", 29}, {"ioctl$UFFDIO_ZEROPAGE", 29}, + {"ioctl$UI_ABS_SETUP", 29}, + {"ioctl$UI_BEGIN_FF_ERASE", 29}, + {"ioctl$UI_BEGIN_FF_UPLOAD", 29}, + {"ioctl$UI_DEV_CREATE", 29}, + {"ioctl$UI_DEV_DESTROY", 29}, + {"ioctl$UI_DEV_SETUP", 29}, + {"ioctl$UI_END_FF_ERASE", 29}, + {"ioctl$UI_END_FF_UPLOAD", 29}, + {"ioctl$UI_GET_SYSNAME", 29}, + {"ioctl$UI_GET_VERSION", 29}, + {"ioctl$UI_SET_ABSBIT", 29}, + {"ioctl$UI_SET_EVBIT", 29}, + {"ioctl$UI_SET_FFBIT", 29}, + {"ioctl$UI_SET_KEYBIT", 29}, + {"ioctl$UI_SET_LEDBIT", 29}, + {"ioctl$UI_SET_MSCBIT", 29}, + {"ioctl$UI_SET_PHYS", 29}, + {"ioctl$UI_SET_PROPBIT", 29}, + {"ioctl$UI_SET_RELBIT", 29}, + {"ioctl$UI_SET_SNDBIT", 29}, + {"ioctl$UI_SET_SWBIT", 29}, {"ioctl$VHOST_GET_FEATURES", 29}, {"ioctl$VHOST_GET_VRING_BASE", 29}, {"ioctl$VHOST_GET_VRING_ENDIAN", 29}, @@ -9295,6 +9385,7 @@ const call_t syscalls[] = { {"write$cgroup_type", 64}, {"write$evdev", 64}, {"write$eventfd", 64}, + {"write$input_event", 64}, {"write$selinux_access", 64}, {"write$selinux_context", 64}, {"write$selinux_create", 64}, @@ -9303,6 +9394,7 @@ const call_t syscalls[] = { {"write$selinux_validatetrans", 64}, {"write$sndseq", 64}, {"write$tun", 64}, + {"write$uinput_user_dev", 64}, {"write$vnet", 64}, {"writev", 66}, @@ -10269,6 +10361,27 @@ const call_t syscalls[] = { {"ioctl$UFFDIO_UNREGISTER", 54}, {"ioctl$UFFDIO_WAKE", 54}, {"ioctl$UFFDIO_ZEROPAGE", 54}, + {"ioctl$UI_ABS_SETUP", 54}, + {"ioctl$UI_BEGIN_FF_ERASE", 54}, + {"ioctl$UI_BEGIN_FF_UPLOAD", 54}, + {"ioctl$UI_DEV_CREATE", 54}, + {"ioctl$UI_DEV_DESTROY", 54}, + {"ioctl$UI_DEV_SETUP", 54}, + {"ioctl$UI_END_FF_ERASE", 54}, + {"ioctl$UI_END_FF_UPLOAD", 54}, + {"ioctl$UI_GET_SYSNAME", 54}, + {"ioctl$UI_GET_VERSION", 54}, + {"ioctl$UI_SET_ABSBIT", 54}, + {"ioctl$UI_SET_EVBIT", 54}, + {"ioctl$UI_SET_FFBIT", 54}, + {"ioctl$UI_SET_KEYBIT", 54}, + {"ioctl$UI_SET_LEDBIT", 54}, + {"ioctl$UI_SET_MSCBIT", 54}, + {"ioctl$UI_SET_PHYS", 54}, + {"ioctl$UI_SET_PROPBIT", 54}, + {"ioctl$UI_SET_RELBIT", 54}, + {"ioctl$UI_SET_SNDBIT", 54}, + {"ioctl$UI_SET_SWBIT", 54}, {"ioctl$VHOST_GET_FEATURES", 54}, {"ioctl$VHOST_GET_VRING_BASE", 54}, {"ioctl$VHOST_GET_VRING_ENDIAN", 54}, @@ -11267,6 +11380,7 @@ const call_t syscalls[] = { {"write$cgroup_type", 4}, {"write$evdev", 4}, {"write$eventfd", 4}, + {"write$input_event", 4}, {"write$selinux_access", 4}, {"write$selinux_context", 4}, {"write$selinux_create", 4}, @@ -11275,6 +11389,7 @@ const call_t syscalls[] = { {"write$selinux_validatetrans", 4}, {"write$sndseq", 4}, {"write$tun", 4}, + {"write$uinput_user_dev", 4}, {"write$vnet", 4}, {"writev", 146}, -- cgit mrf-deployment