From 77e79ca08e54764a84a6f0dfa83bcfc9a7494d08 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sun, 26 Aug 2018 04:54:54 +0200 Subject: [PATCH] sys/linux: add userio descriptions Update #533 --- executor/defs.h | 10 +++++----- executor/syscalls.h | 15 +++++++++++++++ sys/linux/gen/386.go | 35 ++++++++++++++++++++++++++++++++-- sys/linux/gen/amd64.go | 35 ++++++++++++++++++++++++++++++++-- sys/linux/gen/arm.go | 35 ++++++++++++++++++++++++++++++++-- sys/linux/gen/arm64.go | 35 ++++++++++++++++++++++++++++++++-- sys/linux/gen/ppc64le.go | 35 ++++++++++++++++++++++++++++++++-- sys/linux/sys.txt | 1 - sys/linux/userio.txt | 18 +++++++++++++++++ sys/linux/userio_386.const | 7 +++++++ sys/linux/userio_amd64.const | 7 +++++++ sys/linux/userio_arm.const | 7 +++++++ sys/linux/userio_arm64.const | 7 +++++++ sys/linux/userio_ppc64le.const | 7 +++++++ 14 files changed, 238 insertions(+), 16 deletions(-) create mode 100644 sys/linux/userio.txt create mode 100644 sys/linux/userio_386.const create mode 100644 sys/linux/userio_amd64.const create mode 100644 sys/linux/userio_arm.const create mode 100644 sys/linux/userio_arm64.const create mode 100644 sys/linux/userio_ppc64le.const diff --git a/executor/defs.h b/executor/defs.h index f9d04fb7c69..3ca1ae4b411 100644 --- a/executor/defs.h +++ b/executor/defs.h @@ -60,7 +60,7 @@ #if GOARCH_386 #define GOARCH "386" -#define SYZ_REVISION "8600e9d5ccdb9ef2faf96e906017cd916330b6cd" +#define SYZ_REVISION "653420e40f1229688e81b83af5d94ec00d3f8b36" #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 "59a1b42d93f9b942a6d7feb28265f13e5f18f59b" +#define SYZ_REVISION "05f2fe589c5c3436257454e091f72e966610d5db" #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 "b0dd9abc7a5acfffcc6da3159ae9df0700a84a4a" +#define SYZ_REVISION "fbdcb749741366eb0ddae36e107d657053bc3ddb" #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 "a704fd29cde1884c766605de62de1d34ec317232" +#define SYZ_REVISION "08c218976280776c081377a76ece94c9005958ec" #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 "796e339f01a361b1b5c04a4c0cd5a06c59b26955" +#define SYZ_REVISION "f48d04238b4a7847cf4e24a8548d31c6650a3f3e" #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 47c7b1af86a..a081fb3b808 100644 --- a/executor/syscalls.h +++ b/executor/syscalls.h @@ -2969,6 +2969,9 @@ const call_t syscalls[] = { {"write$UHID_INPUT", 4}, {"write$UHID_INPUT2", 4}, {"write$UHID_SET_REPORT_REPLY", 4}, + {"write$USERIO_CMD_REGISTER", 4}, + {"write$USERIO_CMD_SEND_INTERRUPT", 4}, + {"write$USERIO_CMD_SET_PORT_TYPE", 4}, {"write$binfmt_aout", 4}, {"write$binfmt_elf32", 4}, {"write$binfmt_elf64", 4}, @@ -5146,6 +5149,9 @@ const call_t syscalls[] = { {"write$UHID_INPUT", 1}, {"write$UHID_INPUT2", 1}, {"write$UHID_SET_REPORT_REPLY", 1}, + {"write$USERIO_CMD_REGISTER", 1}, + {"write$USERIO_CMD_SEND_INTERRUPT", 1}, + {"write$USERIO_CMD_SET_PORT_TYPE", 1}, {"write$binfmt_aout", 1}, {"write$binfmt_elf32", 1}, {"write$binfmt_elf64", 1}, @@ -7279,6 +7285,9 @@ const call_t syscalls[] = { {"write$UHID_INPUT", 4}, {"write$UHID_INPUT2", 4}, {"write$UHID_SET_REPORT_REPLY", 4}, + {"write$USERIO_CMD_REGISTER", 4}, + {"write$USERIO_CMD_SEND_INTERRUPT", 4}, + {"write$USERIO_CMD_SET_PORT_TYPE", 4}, {"write$binfmt_aout", 4}, {"write$binfmt_elf32", 4}, {"write$binfmt_elf64", 4}, @@ -9384,6 +9393,9 @@ const call_t syscalls[] = { {"write$UHID_INPUT", 64}, {"write$UHID_INPUT2", 64}, {"write$UHID_SET_REPORT_REPLY", 64}, + {"write$USERIO_CMD_REGISTER", 64}, + {"write$USERIO_CMD_SEND_INTERRUPT", 64}, + {"write$USERIO_CMD_SET_PORT_TYPE", 64}, {"write$binfmt_aout", 64}, {"write$binfmt_elf32", 64}, {"write$binfmt_elf64", 64}, @@ -11379,6 +11391,9 @@ const call_t syscalls[] = { {"write$UHID_INPUT", 4}, {"write$UHID_INPUT2", 4}, {"write$UHID_SET_REPORT_REPLY", 4}, + {"write$USERIO_CMD_REGISTER", 4}, + {"write$USERIO_CMD_SEND_INTERRUPT", 4}, + {"write$USERIO_CMD_SET_PORT_TYPE", 4}, {"write$binfmt_aout", 4}, {"write$binfmt_elf32", 4}, {"write$binfmt_elf64", 4}, diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go index 958eb68ab61..1a9560dc8ea 100644 --- a/sys/linux/gen/386.go +++ b/sys/linux/gen/386.go @@ -78,6 +78,7 @@ var resources_386 = []*ResourceDesc{ {Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, @@ -18653,6 +18654,18 @@ var structDescs_386 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "useable", TypeSize: 4}, BitfieldOff: 6, BitfieldLen: 1, BitfieldMdl: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "lm", TypeSize: 4}, BitfieldOff: 7, BitfieldLen: 1}}, }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "ustat", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ustat", TypeSize: 20, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "free", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "inode", TypeSize: 4, ArgDir: 1}}}, @@ -29172,7 +29185,7 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 12}, Kind: 2, Values: []string{"/dev/userio\x00"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 295, Name: "openat$vcs", CallName: "openat", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 9}, Kind: 2, Values: []string{"/dev/vcs\x00"}}}, @@ -33315,6 +33328,21 @@ var syscalls_386 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_set_report_req"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, }}, + {NR: 4, Name: "write$USERIO_CMD_REGISTER", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SEND_INTERRUPT", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SET_PORT_TYPE", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, {NR: 4, Name: "write$binfmt_aout", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binfmt_aout"}}}, @@ -38152,6 +38180,9 @@ var consts_386 = []ConstValue{ {Name: "UI_SET_SWBIT", Value: 1074025837}, {Name: "UMOUNT_NOFOLLOW", Value: 8}, {Name: "UNIX_PATH_MAX", Value: 108}, + {Name: "USERIO_CMD_REGISTER"}, + {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, + {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, @@ -39805,4 +39836,4 @@ var consts_386 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_386 = "8600e9d5ccdb9ef2faf96e906017cd916330b6cd" +const revision_386 = "653420e40f1229688e81b83af5d94ec00d3f8b36" diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go index 2e8a4a7f68e..3b00d42e4fe 100644 --- a/sys/linux/gen/amd64.go +++ b/sys/linux/gen/amd64.go @@ -78,6 +78,7 @@ var resources_amd64 = []*ResourceDesc{ {Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, @@ -18971,6 +18972,18 @@ var structDescs_amd64 = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "useable", TypeSize: 4}, BitfieldOff: 6, BitfieldLen: 1, BitfieldMdl: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "lm", TypeSize: 4}, BitfieldOff: 7, BitfieldLen: 1}}, }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "ustat", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ustat", TypeSize: 32, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "free", TypeSize: 4, ArgDir: 1}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, @@ -29685,7 +29698,7 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 12}, Kind: 2, Values: []string{"/dev/userio\x00"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 257, Name: "openat$vcs", CallName: "openat", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 9}, Kind: 2, Values: []string{"/dev/vcs\x00"}}}, @@ -33977,6 +33990,21 @@ var syscalls_amd64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_set_report_req"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, }}, + {NR: 1, Name: "write$USERIO_CMD_REGISTER", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 1, Name: "write$USERIO_CMD_SEND_INTERRUPT", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 1, Name: "write$USERIO_CMD_SET_PORT_TYPE", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, {NR: 1, Name: "write$binfmt_aout", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binfmt_aout"}}}, @@ -38828,6 +38856,9 @@ var consts_amd64 = []ConstValue{ {Name: "UI_SET_SWBIT", Value: 1074025837}, {Name: "UMOUNT_NOFOLLOW", Value: 8}, {Name: "UNIX_PATH_MAX", Value: 108}, + {Name: "USERIO_CMD_REGISTER"}, + {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, + {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, @@ -40492,4 +40523,4 @@ var consts_amd64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_amd64 = "59a1b42d93f9b942a6d7feb28265f13e5f18f59b" +const revision_amd64 = "05f2fe589c5c3436257454e091f72e966610d5db" diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 0cb4eb6e6ce..616fde9bc2b 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -78,6 +78,7 @@ var resources_arm = []*ResourceDesc{ {Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, @@ -18510,6 +18511,18 @@ var structDescs_arm = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "ustat", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ustat", TypeSize: 20, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "free", TypeSize: 4, ArgDir: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "inode", TypeSize: 4, ArgDir: 1}}}, @@ -28948,7 +28961,7 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 12}, Kind: 2, Values: []string{"/dev/userio\x00"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 322, Name: "openat$vcs", CallName: "openat", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 9}, Kind: 2, Values: []string{"/dev/vcs\x00"}}}, @@ -33223,6 +33236,21 @@ var syscalls_arm = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_set_report_req"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, }}, + {NR: 4, Name: "write$USERIO_CMD_REGISTER", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SEND_INTERRUPT", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SET_PORT_TYPE", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"}, + }}, {NR: 4, Name: "write$binfmt_aout", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "binfmt_aout"}}}, @@ -38012,6 +38040,9 @@ var consts_arm = []ConstValue{ {Name: "UI_SET_SWBIT", Value: 1074025837}, {Name: "UMOUNT_NOFOLLOW", Value: 8}, {Name: "UNIX_PATH_MAX", Value: 108}, + {Name: "USERIO_CMD_REGISTER"}, + {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, + {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, @@ -39663,4 +39694,4 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "b0dd9abc7a5acfffcc6da3159ae9df0700a84a4a" +const revision_arm = "fbdcb749741366eb0ddae36e107d657053bc3ddb" diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go index 4617b8c4e5a..77a25444d85 100644 --- a/sys/linux/gen/arm64.go +++ b/sys/linux/gen/arm64.go @@ -78,6 +78,7 @@ var resources_arm64 = []*ResourceDesc{ {Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_v4l2_buffer", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_v4l2_buffer"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, @@ -18750,6 +18751,18 @@ var structDescs_arm64 = []*KeyedStruct{ &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd0", TypeSize: 4, ArgDir: 1}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "sock_unix", FldName: "fd1", TypeSize: 4, ArgDir: 1}}, }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "v4l2_audio"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "v4l2_audio", TypeSize: 52}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "index", TypeSize: 4}}}, &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "name", TypeSize: 32}, Kind: 1, RangeBegin: 32, RangeEnd: 32}, @@ -29218,7 +29231,7 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 12}, Kind: 2, Values: []string{"/dev/userio\x00"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 56, Name: "openat$vcs", CallName: "openat", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 9}, Kind: 2, Values: []string{"/dev/vcs\x00"}}}, @@ -33427,6 +33440,21 @@ var syscalls_arm64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_set_report_req"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, }}, + {NR: 64, Name: "write$USERIO_CMD_REGISTER", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 64, Name: "write$USERIO_CMD_SEND_INTERRUPT", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 64, Name: "write$USERIO_CMD_SET_PORT_TYPE", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, {NR: 64, Name: "write$binfmt_aout", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binfmt_aout"}}}, @@ -38235,6 +38263,9 @@ var consts_arm64 = []ConstValue{ {Name: "UI_SET_SWBIT", Value: 1074025837}, {Name: "UMOUNT_NOFOLLOW", Value: 8}, {Name: "UNIX_PATH_MAX", Value: 108}, + {Name: "USERIO_CMD_REGISTER"}, + {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, + {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, {Name: "V4L2_AUDCAP_AVL", Value: 2}, {Name: "V4L2_AUDCAP_STEREO", Value: 1}, @@ -39857,4 +39888,4 @@ var consts_arm64 = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm64 = "a704fd29cde1884c766605de62de1d34ec317232" +const revision_arm64 = "08c218976280776c081377a76ece94c9005958ec" diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go index 553a53105d2..b95a6f6232b 100644 --- a/sys/linux/gen/ppc64le.go +++ b/sys/linux/gen/ppc64le.go @@ -77,6 +77,7 @@ var resources_ppc64le = []*ResourceDesc{ {Name: "fd_uffd", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uffd"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uhid", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uhid"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_uinput", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_uinput"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, + {Name: "fd_userio", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_userio"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615, 18446744073709551516}}, {Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}}, @@ -18624,6 +18625,18 @@ var structDescs_ppc64le = []*KeyedStruct{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "useable", TypeSize: 4}, BitfieldOff: 6, BitfieldLen: 1, BitfieldMdl: true}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "lm", TypeSize: 4}, BitfieldOff: 7, BitfieldLen: 1}}, }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_REGISTER]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 2}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, + {Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]", TypeSize: 2}, Fields: []Type{ + &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 1}}, Val: 1}, + &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "data", TypeSize: 1}}}, + }}}, {Key: StructKey{Name: "ustat", Dir: 1}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "ustat", TypeSize: 32, ArgDir: 1}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "free", TypeSize: 4, ArgDir: 1}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 4}}, IsPad: true}, @@ -27766,7 +27779,7 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 12}, Kind: 2, Values: []string{"/dev/userio\x00"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 131072, 16384, 128, 65536, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}}, - }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, {NR: 286, Name: "openat$vcs", CallName: "openat", Args: []Type{ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 9}, Kind: 2, Values: []string{"/dev/vcs\x00"}}}, @@ -31894,6 +31907,21 @@ var syscalls_ppc64le = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_set_report_req"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, }}, + {NR: 4, Name: "write$USERIO_CMD_REGISTER", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_REGISTER]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SEND_INTERRUPT", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SEND_INTERRUPT]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, + {NR: 4, Name: "write$USERIO_CMD_SET_PORT_TYPE", CallName: "write", Args: []Type{ + &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_userio", FldName: "fd", TypeSize: 4}}, + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "userio_cmd[USERIO_CMD_SET_PORT_TYPE]"}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"}, + }}, {NR: 4, Name: "write$binfmt_aout", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "binfmt_aout"}}}, @@ -36584,6 +36612,9 @@ var consts_ppc64le = []ConstValue{ {Name: "UI_SET_SWBIT", Value: 2147767661}, {Name: "UMOUNT_NOFOLLOW", Value: 8}, {Name: "UNIX_PATH_MAX", Value: 108}, + {Name: "USERIO_CMD_REGISTER"}, + {Name: "USERIO_CMD_SEND_INTERRUPT", Value: 2}, + {Name: "USERIO_CMD_SET_PORT_TYPE", Value: 1}, {Name: "USER_CLIENT", Value: 1}, {Name: "VETH_INFO_PEER", Value: 1}, {Name: "VHOST_ACCESS_RO", Value: 1}, @@ -37288,4 +37319,4 @@ var consts_ppc64le = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_ppc64le = "796e339f01a361b1b5c04a4c0cd5a06c59b26955" +const revision_ppc64le = "f48d04238b4a7847cf4e24a8548d31c6650a3f3e" diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt index e27c9372cab..de4e3a2576f 100644 --- a/sys/linux/sys.txt +++ b/sys/linux/sys.txt @@ -533,7 +533,6 @@ openat$full(fd const[AT_FDCWD], file ptr[in, string["/dev/full"]], flags flags[o openat$snapshot(fd const[AT_FDCWD], file ptr[in, string["/dev/snapshot"]], flags flags[open_flags], mode const[0]) fd openat$vga_arbiter(fd const[AT_FDCWD], file ptr[in, string["/dev/vga_arbiter"]], flags flags[open_flags], mode const[0]) fd openat$vhci(fd const[AT_FDCWD], file ptr[in, string["/dev/vhci"]], flags flags[open_flags], mode const[0]) fd -openat$userio(fd const[AT_FDCWD], file ptr[in, string["/dev/userio"]], flags flags[open_flags], mode const[0]) fd openat$rtc(fd const[AT_FDCWD], file ptr[in, string["/dev/rtc0"]], flags flags[open_flags], mode const[0]) fd openat$rfkill(fd const[AT_FDCWD], file ptr[in, string["/dev/rfkill"]], flags flags[open_flags], mode const[0]) fd openat$qat_adf_ctl(fd const[AT_FDCWD], file ptr[in, string["/dev/qat_adf_ctl"]], flags flags[open_flags], mode const[0]) fd diff --git a/sys/linux/userio.txt b/sys/linux/userio.txt new file mode 100644 index 00000000000..d7f17e57249 --- /dev/null +++ b/sys/linux/userio.txt @@ -0,0 +1,18 @@ +# Copyright 2018 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +include +include + +resource fd_userio[fd] + +openat$userio(fd const[AT_FDCWD], file ptr[in, string["/dev/userio"]], flags flags[open_flags], mode const[0]) fd_userio + +write$USERIO_CMD_REGISTER(fd fd_userio, data ptr[in, userio_cmd[USERIO_CMD_REGISTER]], len len[data]) +write$USERIO_CMD_SET_PORT_TYPE(fd fd_userio, data ptr[in, userio_cmd[USERIO_CMD_SET_PORT_TYPE]], len len[data]) +write$USERIO_CMD_SEND_INTERRUPT(fd fd_userio, data ptr[in, userio_cmd[USERIO_CMD_SEND_INTERRUPT]], len len[data]) + +type userio_cmd[TYPE] { + type const[TYPE, int8] + data int8 +} diff --git a/sys/linux/userio_386.const b/sys/linux/userio_386.const new file mode 100644 index 00000000000..1eab444cc69 --- /dev/null +++ b/sys/linux/userio_386.const @@ -0,0 +1,7 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +USERIO_CMD_REGISTER = 0 +USERIO_CMD_SEND_INTERRUPT = 2 +USERIO_CMD_SET_PORT_TYPE = 1 +__NR_openat = 295 +__NR_write = 4 diff --git a/sys/linux/userio_amd64.const b/sys/linux/userio_amd64.const new file mode 100644 index 00000000000..5ab394701ad --- /dev/null +++ b/sys/linux/userio_amd64.const @@ -0,0 +1,7 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +USERIO_CMD_REGISTER = 0 +USERIO_CMD_SEND_INTERRUPT = 2 +USERIO_CMD_SET_PORT_TYPE = 1 +__NR_openat = 257 +__NR_write = 1 diff --git a/sys/linux/userio_arm.const b/sys/linux/userio_arm.const new file mode 100644 index 00000000000..f345a67cada --- /dev/null +++ b/sys/linux/userio_arm.const @@ -0,0 +1,7 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +USERIO_CMD_REGISTER = 0 +USERIO_CMD_SEND_INTERRUPT = 2 +USERIO_CMD_SET_PORT_TYPE = 1 +__NR_openat = 322 +__NR_write = 4 diff --git a/sys/linux/userio_arm64.const b/sys/linux/userio_arm64.const new file mode 100644 index 00000000000..ff5126f2624 --- /dev/null +++ b/sys/linux/userio_arm64.const @@ -0,0 +1,7 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +USERIO_CMD_REGISTER = 0 +USERIO_CMD_SEND_INTERRUPT = 2 +USERIO_CMD_SET_PORT_TYPE = 1 +__NR_openat = 56 +__NR_write = 64 diff --git a/sys/linux/userio_ppc64le.const b/sys/linux/userio_ppc64le.const new file mode 100644 index 00000000000..d896c026833 --- /dev/null +++ b/sys/linux/userio_ppc64le.const @@ -0,0 +1,7 @@ +# AUTOGENERATED FILE +AT_FDCWD = 18446744073709551516 +USERIO_CMD_REGISTER = 0 +USERIO_CMD_SEND_INTERRUPT = 2 +USERIO_CMD_SET_PORT_TYPE = 1 +__NR_openat = 286 +__NR_write = 4