aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-08-14 14:50:52 -0700
committerDmitry Vyukov <dvyukov@google.com>2018-08-15 00:10:16 +0200
commit0e6dcb8809ad92abc3828b58e2e383f8d98b03da (patch)
treef33905e81287bddeae5f0cb67a4e97938a025140
parente1dda36ed949fd8272f14b022ef9ac74f3efa26a (diff)
sys/linux: add uhid support
-rw-r--r--executor/defs.h10
-rw-r--r--executor/syscalls.h40
-rw-r--r--sys/linux/gen/386.go106
-rw-r--r--sys/linux/gen/amd64.go106
-rw-r--r--sys/linux/gen/arm.go106
-rw-r--r--sys/linux/gen/arm64.go106
-rw-r--r--sys/linux/gen/ppc64le.go106
-rw-r--r--sys/linux/uhid.txt81
-rw-r--r--sys/linux/uhid_386.const14
-rw-r--r--sys/linux/uhid_amd64.const14
-rw-r--r--sys/linux/uhid_arm.const14
-rw-r--r--sys/linux/uhid_arm64.const14
-rw-r--r--sys/linux/uhid_ppc64le.const14
13 files changed, 721 insertions, 10 deletions
diff --git a/executor/defs.h b/executor/defs.h
index cabe74469..dd8477861 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -60,7 +60,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "b26fcee92ef41b52573692eff1d9659ea4227d8a"
+#define SYZ_REVISION "371f5cdf7a566e7e713ac05de90dcd82eea01e96"
#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 "0ba80d9ba601ddeb08b4291fd2ea0947f3481935"
+#define SYZ_REVISION "984f61ad7433dadde7090f073c7199f6a678d440"
#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 "1c1202d4c55abb8f20332853410053d44b041249"
+#define SYZ_REVISION "40fd31fbf1a70e5b6dc22c8c9423e1ddda42cbf1"
#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 "85bbade39af42c5619bd476cc4aac056eba83f78"
+#define SYZ_REVISION "8c06a1a26ab471ea14705baab58d60e9a706c1c9"
#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 "1df40f737ea94b5cf2ce66eca4cb47e3ed30c781"
+#define SYZ_REVISION "a5a3a92ab256e785d43c4b58a12210c58ed858c5"
#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 65bd49c83..79174943b 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -2230,6 +2230,7 @@ const call_t syscalls[] = {
{"openat$sr", 295},
{"openat$sw_sync", 295},
{"openat$tun", 295},
+ {"openat$uhid", 295},
{"openat$uinput", 295},
{"openat$urandom", 295},
{"openat$userio", 295},
@@ -2930,6 +2931,13 @@ const call_t syscalls[] = {
{"write$RDMA_USER_CM_CMD_RESOLVE_IP", 4},
{"write$RDMA_USER_CM_CMD_RESOLVE_ROUTE", 4},
{"write$RDMA_USER_CM_CMD_SET_OPTION", 4},
+ {"write$UHID_CREATE", 4},
+ {"write$UHID_CREATE2", 4},
+ {"write$UHID_DESTROY", 4},
+ {"write$UHID_GET_REPORT_REPLY", 4},
+ {"write$UHID_INPUT", 4},
+ {"write$UHID_INPUT2", 4},
+ {"write$UHID_SET_REPORT_REPLY", 4},
{"write$binfmt_aout", 4},
{"write$binfmt_elf32", 4},
{"write$binfmt_elf64", 4},
@@ -4348,6 +4356,7 @@ const call_t syscalls[] = {
{"openat$sr", 257},
{"openat$sw_sync", 257},
{"openat$tun", 257},
+ {"openat$uhid", 257},
{"openat$uinput", 257},
{"openat$urandom", 257},
{"openat$userio", 257},
@@ -5076,6 +5085,13 @@ const call_t syscalls[] = {
{"write$RDMA_USER_CM_CMD_RESOLVE_IP", 1},
{"write$RDMA_USER_CM_CMD_RESOLVE_ROUTE", 1},
{"write$RDMA_USER_CM_CMD_SET_OPTION", 1},
+ {"write$UHID_CREATE", 1},
+ {"write$UHID_CREATE2", 1},
+ {"write$UHID_DESTROY", 1},
+ {"write$UHID_GET_REPORT_REPLY", 1},
+ {"write$UHID_INPUT", 1},
+ {"write$UHID_INPUT2", 1},
+ {"write$UHID_SET_REPORT_REPLY", 1},
{"write$binfmt_aout", 1},
{"write$binfmt_elf32", 1},
{"write$binfmt_elf64", 1},
@@ -6454,6 +6470,7 @@ const call_t syscalls[] = {
{"openat$sr", 322},
{"openat$sw_sync", 322},
{"openat$tun", 322},
+ {"openat$uhid", 322},
{"openat$uinput", 322},
{"openat$urandom", 322},
{"openat$userio", 322},
@@ -7178,6 +7195,13 @@ const call_t syscalls[] = {
{"write$RDMA_USER_CM_CMD_RESOLVE_IP", 4},
{"write$RDMA_USER_CM_CMD_RESOLVE_ROUTE", 4},
{"write$RDMA_USER_CM_CMD_SET_OPTION", 4},
+ {"write$UHID_CREATE", 4},
+ {"write$UHID_CREATE2", 4},
+ {"write$UHID_DESTROY", 4},
+ {"write$UHID_GET_REPORT_REPLY", 4},
+ {"write$UHID_INPUT", 4},
+ {"write$UHID_INPUT2", 4},
+ {"write$UHID_SET_REPORT_REPLY", 4},
{"write$binfmt_aout", 4},
{"write$binfmt_elf32", 4},
{"write$binfmt_elf64", 4},
@@ -8545,6 +8569,7 @@ const call_t syscalls[] = {
{"openat$sr", 56},
{"openat$sw_sync", 56},
{"openat$tun", 56},
+ {"openat$uhid", 56},
{"openat$uinput", 56},
{"openat$urandom", 56},
{"openat$userio", 56},
@@ -9252,6 +9277,13 @@ const call_t syscalls[] = {
{"write$RDMA_USER_CM_CMD_RESOLVE_IP", 64},
{"write$RDMA_USER_CM_CMD_RESOLVE_ROUTE", 64},
{"write$RDMA_USER_CM_CMD_SET_OPTION", 64},
+ {"write$UHID_CREATE", 64},
+ {"write$UHID_CREATE2", 64},
+ {"write$UHID_DESTROY", 64},
+ {"write$UHID_GET_REPORT_REPLY", 64},
+ {"write$UHID_INPUT", 64},
+ {"write$UHID_INPUT2", 64},
+ {"write$UHID_SET_REPORT_REPLY", 64},
{"write$binfmt_aout", 64},
{"write$binfmt_elf32", 64},
{"write$binfmt_elf64", 64},
@@ -10519,6 +10551,7 @@ const call_t syscalls[] = {
{"openat$sr", 286},
{"openat$sw_sync", 286},
{"openat$tun", 286},
+ {"openat$uhid", 286},
{"openat$uinput", 286},
{"openat$urandom", 286},
{"openat$userio", 286},
@@ -11216,6 +11249,13 @@ const call_t syscalls[] = {
{"write$RDMA_USER_CM_CMD_RESOLVE_IP", 4},
{"write$RDMA_USER_CM_CMD_RESOLVE_ROUTE", 4},
{"write$RDMA_USER_CM_CMD_SET_OPTION", 4},
+ {"write$UHID_CREATE", 4},
+ {"write$UHID_CREATE2", 4},
+ {"write$UHID_DESTROY", 4},
+ {"write$UHID_GET_REPORT_REPLY", 4},
+ {"write$UHID_INPUT", 4},
+ {"write$UHID_INPUT2", 4},
+ {"write$UHID_SET_REPORT_REPLY", 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 99fdb5081..67d7873d3 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -76,6 +76,7 @@ var resources_386 = []*ResourceDesc{
{Name: "fd_tty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_tun", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tun"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{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_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}},
@@ -18523,6 +18524,59 @@ var structDescs_386 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uffdio_zero_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "zeropg", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "uhid_create2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 11},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rd_data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_create_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create_req", TypeSize: 284}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "rd_data", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "uhid_destroy_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_destroy_req", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1},
+ }}},
+ {Key: StructKey{Name: "uhid_get_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_get_report_req", TypeSize: 10}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "uhid_input2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 12},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_input_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input_req", TypeSize: 4102}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 8},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4096}, Kind: 1, RangeBegin: 4096, RangeEnd: 4096},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ }}},
+ {Key: StructKey{Name: "uhid_set_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_set_report_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 14},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
{Key: StructKey{Name: "unimapdesc_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unimapdesc_in", TypeSize: 8}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnt", TypeSize: 2}}, Buf: "entries"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -28955,6 +29009,12 @@ var syscalls_386 = []*Syscall{
&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_tun", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 295, Name: "openat$uhid", 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: 10}, Kind: 2, Values: []string{"/dev/uhid\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uhid_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 295, Name: "openat$uinput", 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: 12}, Kind: 2, Values: []string{"/dev/uinput\x00"}}},
@@ -33080,6 +33140,41 @@ var syscalls_386 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "rdma_ucm_cmd_t[RDMA_USER_CM_CMD_SET_OPTION, rdma_ucm_set_option]"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
}},
+ {NR: 4, Name: "write$UHID_CREATE", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_create_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_CREATE2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_create2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_DESTROY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_destroy_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_GET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_get_report_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_input_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_input2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_SET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &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$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"}}},
@@ -36050,6 +36145,7 @@ var consts_386 = []ConstValue{
{Name: "O_PATH", Value: 2097152},
{Name: "O_RDONLY"},
{Name: "O_RDWR", Value: 2},
+ {Name: "O_RDWR_NONBLOCK", Value: 2050},
{Name: "O_SYNC", Value: 1052672},
{Name: "O_TRUNC", Value: 512},
{Name: "O_WRONLY", Value: 1},
@@ -37859,6 +37955,14 @@ var consts_386 = []ConstValue{
{Name: "UFFD_FEATURE_MISSING_HUGETLBFS", Value: 16},
{Name: "UFFD_FEATURE_MISSING_SHMEM", Value: 32},
{Name: "UFFD_FEATURE_PAGEFAULT_FLAG_WP", Value: 1},
+ {Name: "UHID_CREATE"},
+ {Name: "UHID_CREATE2", Value: 11},
+ {Name: "UHID_DATA_MAX", Value: 4096},
+ {Name: "UHID_DESTROY", Value: 1},
+ {Name: "UHID_GET_REPORT_REPLY", Value: 10},
+ {Name: "UHID_INPUT", Value: 8},
+ {Name: "UHID_INPUT2", Value: 12},
+ {Name: "UHID_SET_REPORT_REPLY", Value: 14},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USER_CLIENT", Value: 1},
@@ -39514,4 +39618,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "b26fcee92ef41b52573692eff1d9659ea4227d8a"
+const revision_386 = "371f5cdf7a566e7e713ac05de90dcd82eea01e96"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 42713dcde..5c29819cc 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -76,6 +76,7 @@ var resources_amd64 = []*ResourceDesc{
{Name: "fd_tty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_tun", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tun"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{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_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}},
@@ -18841,6 +18842,59 @@ var structDescs_amd64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uffdio_zero_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "zeropg", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "uhid_create2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 11},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rd_data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_create_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create_req", TypeSize: 288}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "rd_data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "uhid_destroy_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_destroy_req", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1},
+ }}},
+ {Key: StructKey{Name: "uhid_get_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_get_report_req", TypeSize: 10}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "uhid_input2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 12},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_input_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input_req", TypeSize: 4102}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 8},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4096}, Kind: 1, RangeBegin: 4096, RangeEnd: 4096},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ }}},
+ {Key: StructKey{Name: "uhid_set_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_set_report_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 14},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
{Key: StructKey{Name: "unimapdesc_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unimapdesc_in", TypeSize: 16}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnt", TypeSize: 2}}, Buf: "entries"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true},
@@ -29468,6 +29522,12 @@ var syscalls_amd64 = []*Syscall{
&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_tun", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 257, Name: "openat$uhid", 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: 10}, Kind: 2, Values: []string{"/dev/uhid\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uhid_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 257, Name: "openat$uinput", 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: 12}, Kind: 2, Values: []string{"/dev/uinput\x00"}}},
@@ -33742,6 +33802,41 @@ var syscalls_amd64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "rdma_ucm_cmd_t[RDMA_USER_CM_CMD_SET_OPTION, rdma_ucm_set_option]"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "data"},
}},
+ {NR: 1, Name: "write$UHID_CREATE", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_CREATE2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_DESTROY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_destroy_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_GET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_get_report_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_INPUT", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_INPUT2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 1, Name: "write$UHID_SET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &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$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"}}},
@@ -36712,6 +36807,7 @@ var consts_amd64 = []ConstValue{
{Name: "O_PATH", Value: 2097152},
{Name: "O_RDONLY"},
{Name: "O_RDWR", Value: 2},
+ {Name: "O_RDWR_NONBLOCK", Value: 2050},
{Name: "O_SYNC", Value: 1052672},
{Name: "O_TRUNC", Value: 512},
{Name: "O_WRONLY", Value: 1},
@@ -38535,6 +38631,14 @@ var consts_amd64 = []ConstValue{
{Name: "UFFD_FEATURE_MISSING_HUGETLBFS", Value: 16},
{Name: "UFFD_FEATURE_MISSING_SHMEM", Value: 32},
{Name: "UFFD_FEATURE_PAGEFAULT_FLAG_WP", Value: 1},
+ {Name: "UHID_CREATE"},
+ {Name: "UHID_CREATE2", Value: 11},
+ {Name: "UHID_DATA_MAX", Value: 4096},
+ {Name: "UHID_DESTROY", Value: 1},
+ {Name: "UHID_GET_REPORT_REPLY", Value: 10},
+ {Name: "UHID_INPUT", Value: 8},
+ {Name: "UHID_INPUT2", Value: 12},
+ {Name: "UHID_SET_REPORT_REPLY", Value: 14},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USER_CLIENT", Value: 1},
@@ -40201,4 +40305,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "0ba80d9ba601ddeb08b4291fd2ea0947f3481935"
+const revision_amd64 = "984f61ad7433dadde7090f073c7199f6a678d440"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 33c79d5b7..feda29dcc 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -76,6 +76,7 @@ var resources_arm = []*ResourceDesc{
{Name: "fd_tty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_tun", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tun"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{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_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}},
@@ -18392,6 +18393,59 @@ var structDescs_arm = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uffdio_zero_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "zeropg", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "uhid_create2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 11},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rd_data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_create_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create_req", TypeSize: 284}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "rd_data", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "uhid_destroy_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_destroy_req", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1},
+ }}},
+ {Key: StructKey{Name: "uhid_get_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_get_report_req", TypeSize: 10}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "uhid_input2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 12},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_input_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input_req", TypeSize: 4102}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 8},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4096}, Kind: 1, RangeBegin: 4096, RangeEnd: 4096},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ }}},
+ {Key: StructKey{Name: "uhid_set_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_set_report_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 14},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
{Key: StructKey{Name: "unimapdesc_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unimapdesc_in", TypeSize: 8}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnt", TypeSize: 2}}, Buf: "entries"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true},
@@ -28731,6 +28785,12 @@ var syscalls_arm = []*Syscall{
&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_tun", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 322, Name: "openat$uhid", 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: 10}, Kind: 2, Values: []string{"/dev/uhid\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uhid_open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 322, Name: "openat$uinput", 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: 12}, Kind: 2, Values: []string{"/dev/uinput\x00"}}},
@@ -32988,6 +33048,41 @@ var syscalls_arm = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "rdma_ucm_cmd_t[RDMA_USER_CM_CMD_SET_OPTION, rdma_ucm_set_option]"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, BitSize: 8, Buf: "data"},
}},
+ {NR: 4, Name: "write$UHID_CREATE", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_create_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_CREATE2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_create2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_DESTROY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_destroy_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_GET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_get_report_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_input_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "uhid_input2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_SET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &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$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"}}},
@@ -35912,6 +36007,7 @@ var consts_arm = []ConstValue{
{Name: "O_PATH", Value: 2097152},
{Name: "O_RDONLY"},
{Name: "O_RDWR", Value: 2},
+ {Name: "O_RDWR_NONBLOCK", Value: 2050},
{Name: "O_SYNC", Value: 1052672},
{Name: "O_TRUNC", Value: 512},
{Name: "O_WRONLY", Value: 1},
@@ -37719,6 +37815,14 @@ var consts_arm = []ConstValue{
{Name: "UFFD_FEATURE_MISSING_HUGETLBFS", Value: 16},
{Name: "UFFD_FEATURE_MISSING_SHMEM", Value: 32},
{Name: "UFFD_FEATURE_PAGEFAULT_FLAG_WP", Value: 1},
+ {Name: "UHID_CREATE"},
+ {Name: "UHID_CREATE2", Value: 11},
+ {Name: "UHID_DATA_MAX", Value: 4096},
+ {Name: "UHID_DESTROY", Value: 1},
+ {Name: "UHID_GET_REPORT_REPLY", Value: 10},
+ {Name: "UHID_INPUT", Value: 8},
+ {Name: "UHID_INPUT2", Value: 12},
+ {Name: "UHID_SET_REPORT_REPLY", Value: 14},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USER_CLIENT", Value: 1},
@@ -39372,4 +39476,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "1c1202d4c55abb8f20332853410053d44b041249"
+const revision_arm = "40fd31fbf1a70e5b6dc22c8c9423e1ddda42cbf1"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 264d433c7..cf3dacb62 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -76,6 +76,7 @@ var resources_arm64 = []*ResourceDesc{
{Name: "fd_tty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_tun", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tun"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{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_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}},
@@ -18632,6 +18633,59 @@ var structDescs_arm64 = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uffdio_zero_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "zeropg", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "uhid_create2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 11},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rd_data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_create_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create_req", TypeSize: 288}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "rd_data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "uhid_destroy_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_destroy_req", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1},
+ }}},
+ {Key: StructKey{Name: "uhid_get_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_get_report_req", TypeSize: 10}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "uhid_input2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 12},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_input_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input_req", TypeSize: 4102}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 8},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4096}, Kind: 1, RangeBegin: 4096, RangeEnd: 4096},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ }}},
+ {Key: StructKey{Name: "uhid_set_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_set_report_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 14},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
{Key: StructKey{Name: "unimapdesc_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unimapdesc_in", TypeSize: 16}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnt", TypeSize: 2}}, Buf: "entries"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true},
@@ -29001,6 +29055,12 @@ var syscalls_arm64 = []*Syscall{
&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_tun", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 56, Name: "openat$uhid", 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: 10}, Kind: 2, Values: []string{"/dev/uhid\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uhid_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 56, Name: "openat$uinput", 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: 12}, Kind: 2, Values: []string{"/dev/uinput\x00"}}},
@@ -33192,6 +33252,41 @@ var syscalls_arm64 = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "rdma_ucm_cmd_t[RDMA_USER_CM_CMD_SET_OPTION, rdma_ucm_set_option]"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "data"},
}},
+ {NR: 64, Name: "write$UHID_CREATE", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_CREATE2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_DESTROY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_destroy_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_GET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_get_report_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_INPUT", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_INPUT2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 64, Name: "write$UHID_SET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &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$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"}}},
@@ -36125,6 +36220,7 @@ var consts_arm64 = []ConstValue{
{Name: "O_PATH", Value: 2097152},
{Name: "O_RDONLY"},
{Name: "O_RDWR", Value: 2},
+ {Name: "O_RDWR_NONBLOCK", Value: 2050},
{Name: "O_SYNC", Value: 1052672},
{Name: "O_TRUNC", Value: 512},
{Name: "O_WRONLY", Value: 1},
@@ -37942,6 +38038,14 @@ var consts_arm64 = []ConstValue{
{Name: "UFFD_FEATURE_MISSING_HUGETLBFS", Value: 16},
{Name: "UFFD_FEATURE_MISSING_SHMEM", Value: 32},
{Name: "UFFD_FEATURE_PAGEFAULT_FLAG_WP", Value: 1},
+ {Name: "UHID_CREATE"},
+ {Name: "UHID_CREATE2", Value: 11},
+ {Name: "UHID_DATA_MAX", Value: 4096},
+ {Name: "UHID_DESTROY", Value: 1},
+ {Name: "UHID_GET_REPORT_REPLY", Value: 10},
+ {Name: "UHID_INPUT", Value: 8},
+ {Name: "UHID_INPUT2", Value: 12},
+ {Name: "UHID_SET_REPORT_REPLY", Value: 14},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USER_CLIENT", Value: 1},
@@ -39566,4 +39670,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "85bbade39af42c5619bd476cc4aac056eba83f78"
+const revision_arm64 = "8c06a1a26ab471ea14705baab58d60e9a706c1c9"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index c649932ab..3edebeed0 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -75,6 +75,7 @@ var resources_ppc64le = []*ResourceDesc{
{Name: "fd_tty", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tty"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_tun", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_tun"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{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_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}},
@@ -18494,6 +18495,59 @@ var structDescs_ppc64le = []*KeyedStruct{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uffdio_zero_mode", FldName: "mode", TypeSize: 8}}, Vals: []uint64{1}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "zeropg", TypeSize: 8}}},
}}},
+ {Key: StructKey{Name: "uhid_create2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 11},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "rd_data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_create_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_create_req", TypeSize: 288}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "name", TypeSize: 128}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "phys", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "uniq", TypeSize: 64}, Kind: 2, SubKind: "uhid_names", Values: []string{"syz0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", "syz1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "rd_data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1, IsVarlen: true}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "rd_size", TypeSize: 2}}, Buf: "rd_data"},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "bus", TypeSize: 2}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "vendor", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "product", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "version", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "country", TypeSize: 4}}},
+ }}},
+ {Key: StructKey{Name: "uhid_destroy_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_destroy_req", TypeSize: 4}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 1},
+ }}},
+ {Key: StructKey{Name: "uhid_get_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_get_report_req", TypeSize: 10}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ }}},
+ {Key: StructKey{Name: "uhid_input2_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input2_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 12},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
+ {Key: StructKey{Name: "uhid_input_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_input_req", TypeSize: 4102}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 8},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", TypeSize: 4096}, Kind: 1, RangeBegin: 4096, RangeEnd: 4096},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ }}},
+ {Key: StructKey{Name: "uhid_set_report_req"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "uhid_set_report_req", IsVarlen: true}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "type", TypeSize: 4}}, Val: 14},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "id", TypeSize: 4}}, Kind: 2, RangeEnd: 10},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rnum", TypeSize: 1}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "rtype", TypeSize: 1}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 2}}, Buf: "data"},
+ &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
+ }}},
{Key: StructKey{Name: "unimapdesc_in"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "unimapdesc_in", TypeSize: 16}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "cnt", TypeSize: 2}}, Buf: "entries"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 6}}, IsPad: true},
@@ -27549,6 +27603,12 @@ var syscalls_ppc64le = []*Syscall{
&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_tun", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 286, Name: "openat$uhid", 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: 10}, Kind: 2, Values: []string{"/dev/uhid\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "uhid_open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2, 2050}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 286, Name: "openat$uinput", 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: 12}, Kind: 2, Values: []string{"/dev/uinput\x00"}}},
@@ -31659,6 +31719,41 @@ var syscalls_ppc64le = []*Syscall{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "rdma_ucm_cmd_t[RDMA_USER_CM_CMD_SET_OPTION, rdma_ucm_set_option]"}}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, BitSize: 8, Buf: "data"},
}},
+ {NR: 4, Name: "write$UHID_CREATE", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_CREATE2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_create2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_DESTROY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_destroy_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_GET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_get_report_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_INPUT2", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "uhid_input2_req"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "data"},
+ }},
+ {NR: 4, Name: "write$UHID_SET_REPORT_REPLY", CallName: "write", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uhid", FldName: "fd", TypeSize: 4}},
+ &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$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"}}},
@@ -34494,6 +34589,7 @@ var consts_ppc64le = []ConstValue{
{Name: "O_PATH", Value: 2097152},
{Name: "O_RDONLY"},
{Name: "O_RDWR", Value: 2},
+ {Name: "O_RDWR_NONBLOCK", Value: 2050},
{Name: "O_SYNC", Value: 1052672},
{Name: "O_TRUNC", Value: 512},
{Name: "O_WRONLY", Value: 1},
@@ -36291,6 +36387,14 @@ var consts_ppc64le = []ConstValue{
{Name: "UFFD_FEATURE_MISSING_HUGETLBFS", Value: 16},
{Name: "UFFD_FEATURE_MISSING_SHMEM", Value: 32},
{Name: "UFFD_FEATURE_PAGEFAULT_FLAG_WP", Value: 1},
+ {Name: "UHID_CREATE"},
+ {Name: "UHID_CREATE2", Value: 11},
+ {Name: "UHID_DATA_MAX", Value: 4096},
+ {Name: "UHID_DESTROY", Value: 1},
+ {Name: "UHID_GET_REPORT_REPLY", Value: 10},
+ {Name: "UHID_INPUT", Value: 8},
+ {Name: "UHID_INPUT2", Value: 12},
+ {Name: "UHID_SET_REPORT_REPLY", Value: 14},
{Name: "UMOUNT_NOFOLLOW", Value: 8},
{Name: "UNIX_PATH_MAX", Value: 108},
{Name: "USER_CLIENT", Value: 1},
@@ -36997,4 +37101,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "1df40f737ea94b5cf2ce66eca4cb47e3ed30c781"
+const revision_ppc64le = "a5a3a92ab256e785d43c4b58a12210c58ed858c5"
diff --git a/sys/linux/uhid.txt b/sys/linux/uhid.txt
new file mode 100644
index 000000000..317ee5de6
--- /dev/null
+++ b/sys/linux/uhid.txt
@@ -0,0 +1,81 @@
+# 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 <uapi/linux/fcntl.h>
+include <uapi/linux/uhid.h>
+
+resource fd_uhid[fd]
+
+openat$uhid(fd const[AT_FDCWD], file ptr[in, string["/dev/uhid"]], flags flags[uhid_open_flags], mode const[0]) fd_uhid
+write$UHID_CREATE(fd fd_uhid, data ptr[in, uhid_create_req], len len[data])
+write$UHID_CREATE2(fd fd_uhid, data ptr[in, uhid_create2_req], len len[data])
+write$UHID_DESTROY(fd fd_uhid, data ptr[in, uhid_destroy_req], len len[data])
+write$UHID_INPUT(fd fd_uhid, data ptr[in, uhid_input_req], len len[data])
+write$UHID_INPUT2(fd fd_uhid, data ptr[in, uhid_input2_req], len len[data])
+write$UHID_GET_REPORT_REPLY(fd fd_uhid, data ptr[in, uhid_get_report_req], len len[data])
+write$UHID_SET_REPORT_REPLY(fd fd_uhid, data ptr[in, uhid_set_report_req], len len[data])
+
+uhid_create_req {
+ type const[UHID_CREATE, int32]
+ name string[uhid_names, 128]
+ phys string[uhid_names, 64]
+ uniq string[uhid_names, 64]
+ rd_data ptr[out, array[int8]]
+ rd_size len[rd_data, int16]
+ bus int16
+ vendor int32
+ product int32
+ version int32
+ country int32
+} [packed]
+
+uhid_create2_req {
+ type const[UHID_CREATE2, int32]
+ name string[uhid_names, 128]
+ phys string[uhid_names, 64]
+ uniq string[uhid_names, 64]
+ rd_size len[rd_data, int16]
+ bus int16
+ vendor int32
+ product int32
+ version int32
+ country int32
+ rd_data array[int8]
+} [packed]
+
+uhid_destroy_req {
+ type const[UHID_DESTROY, int32]
+} [packed]
+
+uhid_input_req {
+ type const[UHID_INPUT, int32]
+ data array[int8, UHID_DATA_MAX]
+ size len[data, int16]
+} [packed]
+
+uhid_input2_req {
+ type const[UHID_INPUT2, int32]
+ size len[data, int16]
+ data array[int8]
+} [packed]
+
+uhid_get_report_req {
+ type const[UHID_GET_REPORT_REPLY, int32]
+ id int32[0:10]
+ rnum int8
+ rtype int8
+} [packed]
+
+uhid_set_report_req {
+ type const[UHID_SET_REPORT_REPLY, int32]
+ id int32[0:10]
+ rnum int8
+ rtype int8
+ size len[data, int16]
+ data array[int8]
+} [packed]
+
+uhid_names = "syz0", "syz1"
+uhid_open_flags = O_RDWR, O_RDWR_NONBLOCK
+
+define O_RDWR_NONBLOCK O_RDWR | O_NONBLOCK
diff --git a/sys/linux/uhid_386.const b/sys/linux/uhid_386.const
new file mode 100644
index 000000000..ddf0eaec8
--- /dev/null
+++ b/sys/linux/uhid_386.const
@@ -0,0 +1,14 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+O_RDWR = 2
+O_RDWR_NONBLOCK = 2050
+UHID_CREATE = 0
+UHID_CREATE2 = 11
+UHID_DATA_MAX = 4096
+UHID_DESTROY = 1
+UHID_GET_REPORT_REPLY = 10
+UHID_INPUT = 8
+UHID_INPUT2 = 12
+UHID_SET_REPORT_REPLY = 14
+__NR_openat = 295
+__NR_write = 4
diff --git a/sys/linux/uhid_amd64.const b/sys/linux/uhid_amd64.const
new file mode 100644
index 000000000..d3792dc99
--- /dev/null
+++ b/sys/linux/uhid_amd64.const
@@ -0,0 +1,14 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+O_RDWR = 2
+O_RDWR_NONBLOCK = 2050
+UHID_CREATE = 0
+UHID_CREATE2 = 11
+UHID_DATA_MAX = 4096
+UHID_DESTROY = 1
+UHID_GET_REPORT_REPLY = 10
+UHID_INPUT = 8
+UHID_INPUT2 = 12
+UHID_SET_REPORT_REPLY = 14
+__NR_openat = 257
+__NR_write = 1
diff --git a/sys/linux/uhid_arm.const b/sys/linux/uhid_arm.const
new file mode 100644
index 000000000..c648d008a
--- /dev/null
+++ b/sys/linux/uhid_arm.const
@@ -0,0 +1,14 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+O_RDWR = 2
+O_RDWR_NONBLOCK = 2050
+UHID_CREATE = 0
+UHID_CREATE2 = 11
+UHID_DATA_MAX = 4096
+UHID_DESTROY = 1
+UHID_GET_REPORT_REPLY = 10
+UHID_INPUT = 8
+UHID_INPUT2 = 12
+UHID_SET_REPORT_REPLY = 14
+__NR_openat = 322
+__NR_write = 4
diff --git a/sys/linux/uhid_arm64.const b/sys/linux/uhid_arm64.const
new file mode 100644
index 000000000..624e2749f
--- /dev/null
+++ b/sys/linux/uhid_arm64.const
@@ -0,0 +1,14 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+O_RDWR = 2
+O_RDWR_NONBLOCK = 2050
+UHID_CREATE = 0
+UHID_CREATE2 = 11
+UHID_DATA_MAX = 4096
+UHID_DESTROY = 1
+UHID_GET_REPORT_REPLY = 10
+UHID_INPUT = 8
+UHID_INPUT2 = 12
+UHID_SET_REPORT_REPLY = 14
+__NR_openat = 56
+__NR_write = 64
diff --git a/sys/linux/uhid_ppc64le.const b/sys/linux/uhid_ppc64le.const
new file mode 100644
index 000000000..a06ef054a
--- /dev/null
+++ b/sys/linux/uhid_ppc64le.const
@@ -0,0 +1,14 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+O_RDWR = 2
+O_RDWR_NONBLOCK = 2050
+UHID_CREATE = 0
+UHID_CREATE2 = 11
+UHID_DATA_MAX = 4096
+UHID_DESTROY = 1
+UHID_GET_REPORT_REPLY = 10
+UHID_INPUT = 8
+UHID_INPUT2 = 12
+UHID_SET_REPORT_REPLY = 14
+__NR_openat = 286
+__NR_write = 4