aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
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 /sys/linux
parente1dda36ed949fd8272f14b022ef9ac74f3efa26a (diff)
sys/linux: add uhid support
Diffstat (limited to 'sys/linux')
-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
11 files changed, 676 insertions, 5 deletions
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