sys/linux: add simple io_uring descriptions
We don't actually communicate with the uring yet,
but this already finds a bunch of bugs.
diff --git a/executor/defs.h b/executor/defs.h
index 0d70f94..d5f9dac 100644
--- a/executor/defs.h
+++ b/executor/defs.h
@@ -60,7 +60,7 @@
#if GOARCH_386
#define GOARCH "386"
-#define SYZ_REVISION "9c00be196a8a56fe3ab70b20c2356ad34ba8f285"
+#define SYZ_REVISION "478988634401dfed071ff1c04f8690cd11d379c8"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -70,7 +70,7 @@
#if GOARCH_amd64
#define GOARCH "amd64"
-#define SYZ_REVISION "47aef599b466ebb4ebb60dcd25fb03a67bcfefd6"
+#define SYZ_REVISION "b93e84217ab80d86fc347a7d69a396b8e7ecb9e9"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -80,7 +80,7 @@
#if GOARCH_arm
#define GOARCH "arm"
-#define SYZ_REVISION "5592a027d775abc4bea1d90f8868ac1b4943965a"
+#define SYZ_REVISION "bd0de07d98740b4fc358ac0eec3bef00c5256d94"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -90,7 +90,7 @@
#if GOARCH_arm64
#define GOARCH "arm64"
-#define SYZ_REVISION "6fb195f8cdc0968c58149ec0a2abeb9b278f655f"
+#define SYZ_REVISION "cb34edec02daf2ed60d311633c128986cc38af60"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
@@ -100,7 +100,7 @@
#if GOARCH_ppc64le
#define GOARCH "ppc64le"
-#define SYZ_REVISION "1436442d1a0e05b2db29f38530a6d64c5f8ccd18"
+#define SYZ_REVISION "281782ef296d48ac14bb35d02cd626239f36c265"
#define SYZ_EXECUTOR_USES_FORK_SERVER 1
#define SYZ_EXECUTOR_USES_SHMEM 1
#define SYZ_PAGE_SIZE 4096
diff --git a/executor/syscalls.h b/executor/syscalls.h
index 714868b..27d219f 100644
--- a/executor/syscalls.h
+++ b/executor/syscalls.h
@@ -1944,6 +1944,12 @@
{"io_pgetevents", 385},
{"io_setup", 245},
{"io_submit", 248},
+ {"io_uring_enter", 426},
+ {"io_uring_register$IORING_REGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_REGISTER_FILES", 427},
+ {"io_uring_register$IORING_UNREGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_UNREGISTER_FILES", 427},
+ {"io_uring_setup", 425},
{"ioctl", 54},
{"ioctl$ASHMEM_GET_NAME", 54},
{"ioctl$ASHMEM_GET_PIN_STATUS", 54},
@@ -3006,6 +3012,9 @@
{"mlock2", 376},
{"mlockall", 152},
{"mmap", 192},
+ {"mmap$IORING_OFF_CQ_RING", 192},
+ {"mmap$IORING_OFF_SQES", 192},
+ {"mmap$IORING_OFF_SQ_RING", 192},
{"mmap$binder", 192},
{"mmap$perf", 192},
{"mmap$xdp", 192},
@@ -4586,6 +4595,12 @@
{"io_pgetevents", 333},
{"io_setup", 206},
{"io_submit", 209},
+ {"io_uring_enter", 426},
+ {"io_uring_register$IORING_REGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_REGISTER_FILES", 427},
+ {"io_uring_register$IORING_UNREGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_UNREGISTER_FILES", 427},
+ {"io_uring_setup", 425},
{"ioctl", 16},
{"ioctl$ASHMEM_GET_NAME", 16},
{"ioctl$ASHMEM_GET_PIN_STATUS", 16},
@@ -5652,6 +5667,9 @@
{"mlock2", 325},
{"mlockall", 151},
{"mmap", 9},
+ {"mmap$IORING_OFF_CQ_RING", 9},
+ {"mmap$IORING_OFF_SQES", 9},
+ {"mmap$IORING_OFF_SQ_RING", 9},
{"mmap$binder", 9},
{"mmap$perf", 9},
{"mmap$xdp", 9},
@@ -8257,6 +8275,9 @@
{"mlock2", 390},
{"mlockall", 152},
{"mmap", 192},
+ {"mmap$IORING_OFF_CQ_RING", 192},
+ {"mmap$IORING_OFF_SQES", 192},
+ {"mmap$IORING_OFF_SQ_RING", 192},
{"mmap$binder", 192},
{"mmap$perf", 192},
{"mmap$xdp", 192},
@@ -9809,6 +9830,12 @@
{"io_pgetevents", 292},
{"io_setup", 0},
{"io_submit", 2},
+ {"io_uring_enter", 426},
+ {"io_uring_register$IORING_REGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_REGISTER_FILES", 427},
+ {"io_uring_register$IORING_UNREGISTER_BUFFERS", 427},
+ {"io_uring_register$IORING_UNREGISTER_FILES", 427},
+ {"io_uring_setup", 425},
{"ioctl", 29},
{"ioctl$ASHMEM_GET_NAME", 29},
{"ioctl$ASHMEM_GET_PIN_STATUS", 29},
@@ -10844,6 +10871,9 @@
{"mlock2", 284},
{"mlockall", 230},
{"mmap", 222},
+ {"mmap$IORING_OFF_CQ_RING", 222},
+ {"mmap$IORING_OFF_SQES", 222},
+ {"mmap$IORING_OFF_SQ_RING", 222},
{"mmap$binder", 222},
{"mmap$perf", 222},
{"mmap$xdp", 222},
@@ -13414,6 +13444,9 @@
{"mlock2", 378},
{"mlockall", 152},
{"mmap", 90},
+ {"mmap$IORING_OFF_CQ_RING", 90},
+ {"mmap$IORING_OFF_SQES", 90},
+ {"mmap$IORING_OFF_SQ_RING", 90},
{"mmap$binder", 90},
{"mmap$perf", 90},
{"mmap$xdp", 90},
diff --git a/prog/decl_test.go b/prog/decl_test.go
index 29cacdd..8a33db3 100644
--- a/prog/decl_test.go
+++ b/prog/decl_test.go
@@ -14,7 +14,13 @@
}
testEachTarget(t, func(t *testing.T, target *Target) {
for _, res := range target.Resources {
- if len(target.calcResourceCtors(res.Kind, true)) == 0 {
+ // Remove this once io_uring_setup has syscall number of these archs.
+ expectFail := false
+ if res.Kind[len(res.Kind)-1] == "fd_io_uring" && target.OS == "linux" &&
+ (target.Arch == "arm" || target.Arch == "ppc64le") {
+ expectFail = true
+ }
+ if len(target.calcResourceCtors(res.Kind, true)) == 0 != expectFail {
t.Errorf("resource %v can't be created", res.Name)
}
}
@@ -45,11 +51,19 @@
}
}
} else {
- if len(enabled) != len(target.Syscalls) {
+ expectDisabled := 0
+ if target.OS == "linux" && (target.Arch == "arm" || target.Arch == "ppc64le") {
+ // mmap$IORING* are disabled because io_uring_setup is not implemented.
+ // Remove this once io_uring_setup has syscall number of these archs.
+ expectDisabled = 3
+ }
+ if len(enabled) != len(target.Syscalls)-expectDisabled {
t.Errorf("some calls are disabled: %v/%v", len(enabled), len(target.Syscalls))
}
- for c, reason := range disabled {
- t.Errorf("disabled %v: %v", c.Name, reason)
+ if len(disabled) != expectDisabled {
+ for c, reason := range disabled {
+ t.Errorf("disabled %v: %v", c.Name, reason)
+ }
}
}
})
diff --git a/sys/linux/bpf_386.const b/sys/linux/bpf_386.const
index 25db2d4..384a96a 100644
--- a/sys/linux/bpf_386.const
+++ b/sys/linux/bpf_386.const
@@ -155,7 +155,7 @@
BTF_MAGIC = 60319
BTF_VERSION = 1
MAX_BPF_REG = 11
-__BPF_FUNC_MAX_ID = 98
+__BPF_FUNC_MAX_ID = 99
__MAX_BPF_REG = 11
__NR_bpf = 357
bpf_call_code = 133
diff --git a/sys/linux/bpf_amd64.const b/sys/linux/bpf_amd64.const
index 3b4d071..4a1ae7a 100644
--- a/sys/linux/bpf_amd64.const
+++ b/sys/linux/bpf_amd64.const
@@ -155,7 +155,7 @@
BTF_MAGIC = 60319
BTF_VERSION = 1
MAX_BPF_REG = 11
-__BPF_FUNC_MAX_ID = 98
+__BPF_FUNC_MAX_ID = 99
__MAX_BPF_REG = 11
__NR_bpf = 321
bpf_call_code = 133
diff --git a/sys/linux/bpf_arm.const b/sys/linux/bpf_arm.const
index bae4e7c..69f8b31 100644
--- a/sys/linux/bpf_arm.const
+++ b/sys/linux/bpf_arm.const
@@ -155,7 +155,7 @@
BTF_MAGIC = 60319
BTF_VERSION = 1
MAX_BPF_REG = 11
-__BPF_FUNC_MAX_ID = 98
+__BPF_FUNC_MAX_ID = 99
__MAX_BPF_REG = 11
__NR_bpf = 386
bpf_call_code = 133
diff --git a/sys/linux/bpf_arm64.const b/sys/linux/bpf_arm64.const
index 25cdbcb..15ea1bf 100644
--- a/sys/linux/bpf_arm64.const
+++ b/sys/linux/bpf_arm64.const
@@ -155,7 +155,7 @@
BTF_MAGIC = 60319
BTF_VERSION = 1
MAX_BPF_REG = 11
-__BPF_FUNC_MAX_ID = 98
+__BPF_FUNC_MAX_ID = 99
__MAX_BPF_REG = 11
__NR_bpf = 280
bpf_call_code = 133
diff --git a/sys/linux/bpf_ppc64le.const b/sys/linux/bpf_ppc64le.const
index 8db9860..0d6c78b 100644
--- a/sys/linux/bpf_ppc64le.const
+++ b/sys/linux/bpf_ppc64le.const
@@ -155,7 +155,7 @@
BTF_MAGIC = 60319
BTF_VERSION = 1
MAX_BPF_REG = 11
-__BPF_FUNC_MAX_ID = 98
+__BPF_FUNC_MAX_ID = 99
__MAX_BPF_REG = 11
__NR_bpf = 361
bpf_call_code = 133
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index 6da51b7..77733f3 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -51,6 +51,7 @@
{Name: "fd_fuse", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_fuse"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_i2c", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_i2c"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_inotify", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_inotify"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_io_uring", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_io_uring"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_ion", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_ion"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvm"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvmcpu", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvmcpu"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -1089,7 +1090,7 @@
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 98},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 99},
}}},
{Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
@@ -7406,6 +7407,27 @@
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res", TypeSize: 8, ArgDir: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res2", TypeSize: 8, ArgDir: 1}}},
}}},
+ {Key: StructKey{Name: "io_sqring_offsets"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_sqring_offsets", TypeSize: 40}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "head", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "tail", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_mask", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dropped", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "array", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
+ }}},
+ {Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "sq_off"},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "cq_off"},
+ }}},
{Key: StructKey{Name: "iocb"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iocb", TypeSize: 64}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_data", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_key", TypeSize: 4}}},
@@ -24541,7 +24563,7 @@
{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 17, 18, 19, 20, 21, 26, 27, 28}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
@@ -30909,6 +30931,42 @@
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr", TypeSize: 4}}, Buf: "iocbpp"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "iocbpp", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "iocb"}}}}},
}},
+ {NR: 426, Name: "io_uring_enter", CallName: "io_uring_enter", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "to_submit", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "min_complete", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_enter_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2}, BitMask: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "sigmask", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sigset"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 4}}, Buf: "sigmask"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[out, array[int8]]"}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 2},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 4}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 4}}},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 4}}, Val: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 4}}},
+ }},
+ {NR: 425, Name: "io_uring_setup", CallName: "io_uring_setup", Args: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entries", TypeSize: 4}}, Kind: 2, RangeBegin: 1, RangeEnd: 4096},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "io_uring_params"}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 54, Name: "ioctl", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "cmd", TypeSize: 4}}},
@@ -36183,6 +36241,30 @@
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}},
+ {NR: 192, Name: "mmap$IORING_OFF_CQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}, Val: 134217728},
+ }},
+ {NR: 192, Name: "mmap$IORING_OFF_SQES", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}, Val: 268435456},
+ }},
+ {NR: 192, Name: "mmap$IORING_OFF_SQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+ }},
{NR: 192, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
@@ -44596,6 +44678,18 @@
{Name: "IOPRIO_WHO_PGRP", Value: 2},
{Name: "IOPRIO_WHO_PROCESS", Value: 1},
{Name: "IOPRIO_WHO_USER", Value: 3},
+ {Name: "IORING_ENTER_GETEVENTS", Value: 1},
+ {Name: "IORING_ENTER_SQ_WAKEUP", Value: 2},
+ {Name: "IORING_OFF_CQ_RING", Value: 134217728},
+ {Name: "IORING_OFF_SQES", Value: 268435456},
+ {Name: "IORING_OFF_SQ_RING"},
+ {Name: "IORING_REGISTER_BUFFERS"},
+ {Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_SETUP_IOPOLL", Value: 1},
+ {Name: "IORING_SETUP_SQPOLL", Value: 2},
+ {Name: "IORING_SETUP_SQ_AFF", Value: 4},
+ {Name: "IORING_UNREGISTER_BUFFERS", Value: 1},
+ {Name: "IORING_UNREGISTER_FILES", Value: 3},
{Name: "IP6T_AH_INV_LEN", Value: 2},
{Name: "IP6T_AH_INV_SPI", Value: 1},
{Name: "IP6T_FRAG_FST", Value: 8},
@@ -48298,23 +48392,7 @@
{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
{Name: "USB_CDC_OBEX_TYPE", Value: 21},
{Name: "USB_CDC_UNION_TYPE", Value: 6},
- {Name: "USB_CLASS_APP_SPEC", Value: 254},
- {Name: "USB_CLASS_AUDIO", Value: 1},
- {Name: "USB_CLASS_CDC_DATA", Value: 10},
- {Name: "USB_CLASS_COMM", Value: 2},
- {Name: "USB_CLASS_CONTENT_SEC", Value: 13},
- {Name: "USB_CLASS_CSCID", Value: 11},
- {Name: "USB_CLASS_HID", Value: 3},
- {Name: "USB_CLASS_HUB", Value: 9},
- {Name: "USB_CLASS_MASS_STORAGE", Value: 8},
- {Name: "USB_CLASS_MISC", Value: 239},
- {Name: "USB_CLASS_PER_INTERFACE"},
- {Name: "USB_CLASS_PHYSICAL", Value: 5},
- {Name: "USB_CLASS_PRINTER", Value: 7},
- {Name: "USB_CLASS_STILL_IMAGE", Value: 6},
- {Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
- {Name: "USB_CLASS_VIDEO", Value: 14},
- {Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+ {Name: "USB_CDC_WHCM_TYPE", Value: 17},
{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
{Name: "USB_CONFIG_ATT_ONE", Value: 128},
{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
@@ -49866,7 +49944,7 @@
{Name: "_LINUX_CAPABILITY_VERSION_1", Value: 429392688},
{Name: "_LINUX_CAPABILITY_VERSION_2", Value: 537333798},
{Name: "_LINUX_CAPABILITY_VERSION_3", Value: 537396514},
- {Name: "__BPF_FUNC_MAX_ID", Value: 98},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 99},
{Name: "__MAX_BPF_REG", Value: 11},
{Name: "__NR_accept4", Value: 364},
{Name: "__NR_acct", Value: 51},
@@ -49966,6 +50044,9 @@
{Name: "__NR_io_pgetevents", Value: 385},
{Name: "__NR_io_setup", Value: 245},
{Name: "__NR_io_submit", Value: 248},
+ {Name: "__NR_io_uring_enter", Value: 426},
+ {Name: "__NR_io_uring_register", Value: 427},
+ {Name: "__NR_io_uring_setup", Value: 425},
{Name: "__NR_ioctl", Value: 54},
{Name: "__NR_ioperm", Value: 101},
{Name: "__NR_iopl", Value: 110},
@@ -50172,4 +50253,4 @@
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "9c00be196a8a56fe3ab70b20c2356ad34ba8f285"
+const revision_386 = "478988634401dfed071ff1c04f8690cd11d379c8"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 1c3469d..f3938fc 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -51,6 +51,7 @@
{Name: "fd_fuse", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_fuse"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_i2c", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_i2c"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_inotify", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_inotify"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_io_uring", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_io_uring"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_ion", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_ion"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvm"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvmcpu", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvmcpu"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -1092,7 +1093,7 @@
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 98},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 99},
}}},
{Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
@@ -7504,6 +7505,27 @@
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res", TypeSize: 8, ArgDir: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res2", TypeSize: 8, ArgDir: 1}}},
}}},
+ {Key: StructKey{Name: "io_sqring_offsets"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_sqring_offsets", TypeSize: 40}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "head", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "tail", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_mask", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dropped", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "array", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
+ }}},
+ {Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "sq_off"},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "cq_off"},
+ }}},
{Key: StructKey{Name: "iocb"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iocb", TypeSize: 64}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_data", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_key", TypeSize: 4}}},
@@ -24892,7 +24914,7 @@
{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 17, 18, 19, 20, 21, 26, 27, 28}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
@@ -31386,6 +31408,42 @@
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr", TypeSize: 8}}, Buf: "iocbpp"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "iocbpp", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iocb"}}}}},
}},
+ {NR: 426, Name: "io_uring_enter", CallName: "io_uring_enter", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "to_submit", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "min_complete", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_enter_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "sigmask", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sigset"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "sigmask"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[out, array[int8]]"}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 2},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 8}}},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 8}}},
+ }},
+ {NR: 425, Name: "io_uring_setup", CallName: "io_uring_setup", Args: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entries", TypeSize: 4}}, Kind: 2, RangeBegin: 1, RangeEnd: 4096},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "io_uring_params"}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 16, Name: "ioctl", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "cmd", TypeSize: 8}}},
@@ -36680,6 +36738,30 @@
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 9, Name: "mmap$IORING_OFF_CQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 134217728},
+ }},
+ {NR: 9, Name: "mmap$IORING_OFF_SQES", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 268435456},
+ }},
+ {NR: 9, Name: "mmap$IORING_OFF_SQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 64, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 9, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
@@ -45098,6 +45180,18 @@
{Name: "IOPRIO_WHO_PGRP", Value: 2},
{Name: "IOPRIO_WHO_PROCESS", Value: 1},
{Name: "IOPRIO_WHO_USER", Value: 3},
+ {Name: "IORING_ENTER_GETEVENTS", Value: 1},
+ {Name: "IORING_ENTER_SQ_WAKEUP", Value: 2},
+ {Name: "IORING_OFF_CQ_RING", Value: 134217728},
+ {Name: "IORING_OFF_SQES", Value: 268435456},
+ {Name: "IORING_OFF_SQ_RING"},
+ {Name: "IORING_REGISTER_BUFFERS"},
+ {Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_SETUP_IOPOLL", Value: 1},
+ {Name: "IORING_SETUP_SQPOLL", Value: 2},
+ {Name: "IORING_SETUP_SQ_AFF", Value: 4},
+ {Name: "IORING_UNREGISTER_BUFFERS", Value: 1},
+ {Name: "IORING_UNREGISTER_FILES", Value: 3},
{Name: "IP6T_AH_INV_LEN", Value: 2},
{Name: "IP6T_AH_INV_SPI", Value: 1},
{Name: "IP6T_FRAG_FST", Value: 8},
@@ -48814,23 +48908,7 @@
{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
{Name: "USB_CDC_OBEX_TYPE", Value: 21},
{Name: "USB_CDC_UNION_TYPE", Value: 6},
- {Name: "USB_CLASS_APP_SPEC", Value: 254},
- {Name: "USB_CLASS_AUDIO", Value: 1},
- {Name: "USB_CLASS_CDC_DATA", Value: 10},
- {Name: "USB_CLASS_COMM", Value: 2},
- {Name: "USB_CLASS_CONTENT_SEC", Value: 13},
- {Name: "USB_CLASS_CSCID", Value: 11},
- {Name: "USB_CLASS_HID", Value: 3},
- {Name: "USB_CLASS_HUB", Value: 9},
- {Name: "USB_CLASS_MASS_STORAGE", Value: 8},
- {Name: "USB_CLASS_MISC", Value: 239},
- {Name: "USB_CLASS_PER_INTERFACE"},
- {Name: "USB_CLASS_PHYSICAL", Value: 5},
- {Name: "USB_CLASS_PRINTER", Value: 7},
- {Name: "USB_CLASS_STILL_IMAGE", Value: 6},
- {Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
- {Name: "USB_CLASS_VIDEO", Value: 14},
- {Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+ {Name: "USB_CDC_WHCM_TYPE", Value: 17},
{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
{Name: "USB_CONFIG_ATT_ONE", Value: 128},
{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
@@ -50382,7 +50460,7 @@
{Name: "_LINUX_CAPABILITY_VERSION_1", Value: 429392688},
{Name: "_LINUX_CAPABILITY_VERSION_2", Value: 537333798},
{Name: "_LINUX_CAPABILITY_VERSION_3", Value: 537396514},
- {Name: "__BPF_FUNC_MAX_ID", Value: 98},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 99},
{Name: "__MAX_BPF_REG", Value: 11},
{Name: "__NR_accept", Value: 43},
{Name: "__NR_accept4", Value: 288},
@@ -50483,6 +50561,9 @@
{Name: "__NR_io_pgetevents", Value: 333},
{Name: "__NR_io_setup", Value: 206},
{Name: "__NR_io_submit", Value: 209},
+ {Name: "__NR_io_uring_enter", Value: 426},
+ {Name: "__NR_io_uring_register", Value: 427},
+ {Name: "__NR_io_uring_setup", Value: 425},
{Name: "__NR_ioctl", Value: 16},
{Name: "__NR_ioperm", Value: 173},
{Name: "__NR_iopl", Value: 172},
@@ -50689,4 +50770,4 @@
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "47aef599b466ebb4ebb60dcd25fb03a67bcfefd6"
+const revision_amd64 = "b93e84217ab80d86fc347a7d69a396b8e7ecb9e9"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 2e64589..2506e11 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -51,6 +51,7 @@
{Name: "fd_fuse", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_fuse"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_i2c", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_i2c"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_inotify", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_inotify"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_io_uring", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_io_uring"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_ion", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_ion"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvm"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvmcpu", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvmcpu"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -1089,7 +1090,7 @@
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 98},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 99},
}}},
{Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
@@ -24363,7 +24364,7 @@
{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 17, 18, 19, 20, 21, 26, 27, 28}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
@@ -35864,6 +35865,30 @@
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}},
+ {NR: 192, Name: "mmap$IORING_OFF_CQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}, Val: 134217728},
+ }},
+ {NR: 192, Name: "mmap$IORING_OFF_SQES", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}, Val: 268435456},
+ }},
+ {NR: 192, Name: "mmap$IORING_OFF_SQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 4}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+ }},
{NR: 192, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "addr"},
@@ -44235,6 +44260,18 @@
{Name: "IOPRIO_WHO_PGRP", Value: 2},
{Name: "IOPRIO_WHO_PROCESS", Value: 1},
{Name: "IOPRIO_WHO_USER", Value: 3},
+ {Name: "IORING_ENTER_GETEVENTS", Value: 1},
+ {Name: "IORING_ENTER_SQ_WAKEUP", Value: 2},
+ {Name: "IORING_OFF_CQ_RING", Value: 134217728},
+ {Name: "IORING_OFF_SQES", Value: 268435456},
+ {Name: "IORING_OFF_SQ_RING"},
+ {Name: "IORING_REGISTER_BUFFERS"},
+ {Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_SETUP_IOPOLL", Value: 1},
+ {Name: "IORING_SETUP_SQPOLL", Value: 2},
+ {Name: "IORING_SETUP_SQ_AFF", Value: 4},
+ {Name: "IORING_UNREGISTER_BUFFERS", Value: 1},
+ {Name: "IORING_UNREGISTER_FILES", Value: 3},
{Name: "IP6T_AH_INV_LEN", Value: 2},
{Name: "IP6T_AH_INV_SPI", Value: 1},
{Name: "IP6T_FRAG_FST", Value: 8},
@@ -47885,23 +47922,7 @@
{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
{Name: "USB_CDC_OBEX_TYPE", Value: 21},
{Name: "USB_CDC_UNION_TYPE", Value: 6},
- {Name: "USB_CLASS_APP_SPEC", Value: 254},
- {Name: "USB_CLASS_AUDIO", Value: 1},
- {Name: "USB_CLASS_CDC_DATA", Value: 10},
- {Name: "USB_CLASS_COMM", Value: 2},
- {Name: "USB_CLASS_CONTENT_SEC", Value: 13},
- {Name: "USB_CLASS_CSCID", Value: 11},
- {Name: "USB_CLASS_HID", Value: 3},
- {Name: "USB_CLASS_HUB", Value: 9},
- {Name: "USB_CLASS_MASS_STORAGE", Value: 8},
- {Name: "USB_CLASS_MISC", Value: 239},
- {Name: "USB_CLASS_PER_INTERFACE"},
- {Name: "USB_CLASS_PHYSICAL", Value: 5},
- {Name: "USB_CLASS_PRINTER", Value: 7},
- {Name: "USB_CLASS_STILL_IMAGE", Value: 6},
- {Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
- {Name: "USB_CLASS_VIDEO", Value: 14},
- {Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+ {Name: "USB_CDC_WHCM_TYPE", Value: 17},
{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
{Name: "USB_CONFIG_ATT_ONE", Value: 128},
{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
@@ -49453,7 +49474,7 @@
{Name: "_LINUX_CAPABILITY_VERSION_1", Value: 429392688},
{Name: "_LINUX_CAPABILITY_VERSION_2", Value: 537333798},
{Name: "_LINUX_CAPABILITY_VERSION_3", Value: 537396514},
- {Name: "__BPF_FUNC_MAX_ID", Value: 98},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 99},
{Name: "__MAX_BPF_REG", Value: 11},
{Name: "__NR_accept", Value: 285},
{Name: "__NR_accept4", Value: 366},
@@ -49749,4 +49770,4 @@
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "5592a027d775abc4bea1d90f8868ac1b4943965a"
+const revision_arm = "bd0de07d98740b4fc358ac0eec3bef00c5256d94"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 573e7e0..58a932a 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -51,6 +51,7 @@
{Name: "fd_fuse", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_fuse"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_i2c", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_i2c"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_inotify", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_inotify"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_io_uring", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_io_uring"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_ion", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_ion"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvm"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvmcpu", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvmcpu"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -1092,7 +1093,7 @@
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 98},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 99},
}}},
{Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
@@ -7504,6 +7505,27 @@
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res", TypeSize: 8, ArgDir: 1}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "res2", TypeSize: 8, ArgDir: 1}}},
}}},
+ {Key: StructKey{Name: "io_sqring_offsets"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_sqring_offsets", TypeSize: 40}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "head", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "tail", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_mask", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "ring_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "flags", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "dropped", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "array", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv1", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "resv2", TypeSize: 8}}},
+ }}},
+ {Key: StructKey{Name: "io_uring_params"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "io_uring_params", TypeSize: 120}, Fields: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "sq_entries", TypeSize: 4}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cq_entries", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_setup_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4}, BitMask: true},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_cpu", TypeSize: 4}}, Kind: 2, RangeEnd: 3},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "sq_thread_idle", TypeSize: 4}}, Kind: 2, RangeEnd: 1000},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "resv", TypeSize: 20}, Type: &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", TypeSize: 4}}}, Kind: 1, RangeBegin: 5, RangeEnd: 5},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "sq_off"},
+ &StructType{Key: StructKey{Name: "io_sqring_offsets"}, FldName: "cq_off"},
+ }}},
{Key: StructKey{Name: "iocb"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "iocb", TypeSize: 64}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_data", TypeSize: 8}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "aio_key", TypeSize: 4}}},
@@ -24709,7 +24731,7 @@
{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 17, 18, 19, 20, 21, 26, 27, 28}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
@@ -31098,6 +31120,42 @@
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr", TypeSize: 8}}, Buf: "iocbpp"},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "iocbpp", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "iocb"}}}}},
}},
+ {NR: 426, Name: "io_uring_enter", CallName: "io_uring_enter", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "to_submit", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "min_complete", TypeSize: 4}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "io_uring_enter_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2}, BitMask: true},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "sigmask", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sigset"}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "size", TypeSize: 8}}, Buf: "sigmask"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "iovec[out, array[int8]]"}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_REGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 2},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", IsVarlen: true}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", TypeSize: 4}}}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_args", TypeSize: 8}}, Buf: "arg"},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_BUFFERS", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 1},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 8}}},
+ }},
+ {NR: 427, Name: "io_uring_register$IORING_UNREGISTER_FILES", CallName: "io_uring_register", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "opcode", TypeSize: 8}}, Val: 3},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "arg", TypeSize: 8}}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "nr_args", TypeSize: 8}}},
+ }},
+ {NR: 425, Name: "io_uring_setup", CallName: "io_uring_setup", Args: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "entries", TypeSize: 4}}, Kind: 2, RangeBegin: 1, RangeEnd: 4096},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "params", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "io_uring_params"}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 29, Name: "ioctl", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "cmd", TypeSize: 8}}},
@@ -36242,6 +36300,30 @@
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 222, Name: "mmap$IORING_OFF_CQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 134217728},
+ }},
+ {NR: 222, Name: "mmap$IORING_OFF_SQES", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 268435456},
+ }},
+ {NR: 222, Name: "mmap$IORING_OFF_SQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 8192, 65536, 16384, 32768, 131072, 0, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 222, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
@@ -44544,6 +44626,18 @@
{Name: "IOPRIO_WHO_PGRP", Value: 2},
{Name: "IOPRIO_WHO_PROCESS", Value: 1},
{Name: "IOPRIO_WHO_USER", Value: 3},
+ {Name: "IORING_ENTER_GETEVENTS", Value: 1},
+ {Name: "IORING_ENTER_SQ_WAKEUP", Value: 2},
+ {Name: "IORING_OFF_CQ_RING", Value: 134217728},
+ {Name: "IORING_OFF_SQES", Value: 268435456},
+ {Name: "IORING_OFF_SQ_RING"},
+ {Name: "IORING_REGISTER_BUFFERS"},
+ {Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_SETUP_IOPOLL", Value: 1},
+ {Name: "IORING_SETUP_SQPOLL", Value: 2},
+ {Name: "IORING_SETUP_SQ_AFF", Value: 4},
+ {Name: "IORING_UNREGISTER_BUFFERS", Value: 1},
+ {Name: "IORING_UNREGISTER_FILES", Value: 3},
{Name: "IP6T_AH_INV_LEN", Value: 2},
{Name: "IP6T_AH_INV_SPI", Value: 1},
{Name: "IP6T_FRAG_FST", Value: 8},
@@ -48205,23 +48299,7 @@
{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
{Name: "USB_CDC_OBEX_TYPE", Value: 21},
{Name: "USB_CDC_UNION_TYPE", Value: 6},
- {Name: "USB_CLASS_APP_SPEC", Value: 254},
- {Name: "USB_CLASS_AUDIO", Value: 1},
- {Name: "USB_CLASS_CDC_DATA", Value: 10},
- {Name: "USB_CLASS_COMM", Value: 2},
- {Name: "USB_CLASS_CONTENT_SEC", Value: 13},
- {Name: "USB_CLASS_CSCID", Value: 11},
- {Name: "USB_CLASS_HID", Value: 3},
- {Name: "USB_CLASS_HUB", Value: 9},
- {Name: "USB_CLASS_MASS_STORAGE", Value: 8},
- {Name: "USB_CLASS_MISC", Value: 239},
- {Name: "USB_CLASS_PER_INTERFACE"},
- {Name: "USB_CLASS_PHYSICAL", Value: 5},
- {Name: "USB_CLASS_PRINTER", Value: 7},
- {Name: "USB_CLASS_STILL_IMAGE", Value: 6},
- {Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
- {Name: "USB_CLASS_VIDEO", Value: 14},
- {Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+ {Name: "USB_CDC_WHCM_TYPE", Value: 17},
{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
{Name: "USB_CONFIG_ATT_ONE", Value: 128},
{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
@@ -49773,7 +49851,7 @@
{Name: "_LINUX_CAPABILITY_VERSION_1", Value: 429392688},
{Name: "_LINUX_CAPABILITY_VERSION_2", Value: 537333798},
{Name: "_LINUX_CAPABILITY_VERSION_3", Value: 537396514},
- {Name: "__BPF_FUNC_MAX_ID", Value: 98},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 99},
{Name: "__MAX_BPF_REG", Value: 11},
{Name: "__NR_accept", Value: 202},
{Name: "__NR_accept4", Value: 242},
@@ -49860,6 +49938,9 @@
{Name: "__NR_io_pgetevents", Value: 292},
{Name: "__NR_io_setup"},
{Name: "__NR_io_submit", Value: 2},
+ {Name: "__NR_io_uring_enter", Value: 426},
+ {Name: "__NR_io_uring_register", Value: 427},
+ {Name: "__NR_io_uring_setup", Value: 425},
{Name: "__NR_ioctl", Value: 29},
{Name: "__NR_ioprio_get", Value: 31},
{Name: "__NR_ioprio_set", Value: 30},
@@ -50039,4 +50120,4 @@
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "6fb195f8cdc0968c58149ec0a2abeb9b278f655f"
+const revision_arm64 = "cb34edec02daf2ed60d311633c128986cc38af60"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index fa24890..34bc0d7 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -51,6 +51,7 @@
{Name: "fd_fuse", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_fuse"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_i2c", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_i2c"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_inotify", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_inotify"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
+ {Name: "fd_io_uring", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_io_uring"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_ion", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_ion"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvm", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvm"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
{Name: "fd_kvmcpu", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_kvmcpu"}, Values: []uint64{18446744073709551615, 18446744073709551516}},
@@ -1091,7 +1092,7 @@
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 133},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "regs", TypeSize: 1}}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "off", TypeSize: 2}}},
- &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 98},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "func", TypeSize: 4}}, Kind: 2, RangeEnd: 99},
}}},
{Key: StructKey{Name: "bpf_insn_exit"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "bpf_insn_exit", TypeSize: 8}, Fields: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "code", TypeSize: 1}}, Val: 149},
@@ -24585,7 +24586,7 @@
{Key: StructKey{Name: "usb_cdc_generic"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_generic", IsVarlen: true}, Fields: []Type{
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "bLength", TypeSize: 1}}, Buf: "parent"},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "bDescriptorType", TypeSize: 1}}, Val: 36},
- &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 18, 19, 20, 21, 26, 27, 28}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "usb_cdc_types", FldName: "bDescriptorSubType", TypeSize: 1}}, Vals: []uint64{0, 1, 2, 6, 7, 10, 15, 17, 18, 19, 20, 21, 26, 27, 28}},
&BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "data", IsVarlen: true}},
}}},
{Key: StructKey{Name: "usb_cdc_header"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "usb_cdc_header", IsVarlen: true}, Fields: []Type{
@@ -36117,6 +36118,30 @@
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 90, Name: "mmap$IORING_OFF_CQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0, 3, 0, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 134217728},
+ }},
+ {NR: 90, Name: "mmap$IORING_OFF_SQES", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0, 3, 0, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}, Val: 268435456},
+ }},
+ {NR: 90, Name: "mmap$IORING_OFF_SQ_RING", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_prot", FldName: "prot", TypeSize: 8}}, Vals: []uint64{0, 4, 1, 2, 8, 16777216, 33554432}, BitMask: true},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "mmap_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 0, 32, 2048, 4096, 0, 16, 256, 262144, 128, 65536, 64, 32768, 131072, 0, 3, 0, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_io_uring", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 90, Name: "mmap$binder", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "addr"},
@@ -44511,6 +44536,18 @@
{Name: "IOPRIO_WHO_PGRP", Value: 2},
{Name: "IOPRIO_WHO_PROCESS", Value: 1},
{Name: "IOPRIO_WHO_USER", Value: 3},
+ {Name: "IORING_ENTER_GETEVENTS", Value: 1},
+ {Name: "IORING_ENTER_SQ_WAKEUP", Value: 2},
+ {Name: "IORING_OFF_CQ_RING", Value: 134217728},
+ {Name: "IORING_OFF_SQES", Value: 268435456},
+ {Name: "IORING_OFF_SQ_RING"},
+ {Name: "IORING_REGISTER_BUFFERS"},
+ {Name: "IORING_REGISTER_FILES", Value: 2},
+ {Name: "IORING_SETUP_IOPOLL", Value: 1},
+ {Name: "IORING_SETUP_SQPOLL", Value: 2},
+ {Name: "IORING_SETUP_SQ_AFF", Value: 4},
+ {Name: "IORING_UNREGISTER_BUFFERS", Value: 1},
+ {Name: "IORING_UNREGISTER_FILES", Value: 3},
{Name: "IP6T_AH_INV_LEN", Value: 2},
{Name: "IP6T_AH_INV_SPI", Value: 1},
{Name: "IP6T_FRAG_FST", Value: 8},
@@ -48150,23 +48187,7 @@
{Name: "USB_CDC_NETWORK_TERMINAL_TYPE", Value: 10},
{Name: "USB_CDC_OBEX_TYPE", Value: 21},
{Name: "USB_CDC_UNION_TYPE", Value: 6},
- {Name: "USB_CLASS_APP_SPEC", Value: 254},
- {Name: "USB_CLASS_AUDIO", Value: 1},
- {Name: "USB_CLASS_CDC_DATA", Value: 10},
- {Name: "USB_CLASS_COMM", Value: 2},
- {Name: "USB_CLASS_CONTENT_SEC", Value: 13},
- {Name: "USB_CLASS_CSCID", Value: 11},
- {Name: "USB_CLASS_HID", Value: 3},
- {Name: "USB_CLASS_HUB", Value: 9},
- {Name: "USB_CLASS_MASS_STORAGE", Value: 8},
- {Name: "USB_CLASS_MISC", Value: 239},
- {Name: "USB_CLASS_PER_INTERFACE"},
- {Name: "USB_CLASS_PHYSICAL", Value: 5},
- {Name: "USB_CLASS_PRINTER", Value: 7},
- {Name: "USB_CLASS_STILL_IMAGE", Value: 6},
- {Name: "USB_CLASS_VENDOR_SPEC", Value: 255},
- {Name: "USB_CLASS_VIDEO", Value: 14},
- {Name: "USB_CLASS_WIRELESS_CONTROLLER", Value: 224},
+ {Name: "USB_CDC_WHCM_TYPE", Value: 17},
{Name: "USB_CONFIG_ATT_BATTERY", Value: 16},
{Name: "USB_CONFIG_ATT_ONE", Value: 128},
{Name: "USB_CONFIG_ATT_SELFPOWER", Value: 64},
@@ -49674,7 +49695,7 @@
{Name: "_LINUX_CAPABILITY_VERSION_1", Value: 429392688},
{Name: "_LINUX_CAPABILITY_VERSION_2", Value: 537333798},
{Name: "_LINUX_CAPABILITY_VERSION_3", Value: 537396514},
- {Name: "__BPF_FUNC_MAX_ID", Value: 98},
+ {Name: "__BPF_FUNC_MAX_ID", Value: 99},
{Name: "__MAX_BPF_REG", Value: 11},
{Name: "__NR_accept", Value: 330},
{Name: "__NR_accept4", Value: 344},
@@ -49976,4 +49997,4 @@
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "1436442d1a0e05b2db29f38530a6d64c5f8ccd18"
+const revision_ppc64le = "281782ef296d48ac14bb35d02cd626239f36c265"
diff --git a/sys/linux/io_uring.txt b/sys/linux/io_uring.txt
new file mode 100644
index 0000000..3f15859
--- /dev/null
+++ b/sys/linux/io_uring.txt
@@ -0,0 +1,48 @@
+# Copyright 2019 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.
+
+# See http://kernel.dk/io_uring.pdf
+
+# TODO: we don't write anything to the actual uring.
+# NEED: we somehow need to write the mmap-ed range after the mmap. vring needs something similar.
+
+include <uapi/linux/io_uring.h>
+
+resource fd_io_uring[fd]
+
+io_uring_setup(entries int32[1:4096], params ptr[in, io_uring_params]) fd_io_uring
+io_uring_enter(fd fd_io_uring, to_submit int32, min_complete int32, flags flags[io_uring_enter_flags], sigmask ptr[in, sigset], size len[sigmask])
+io_uring_register$IORING_REGISTER_BUFFERS(fd fd_io_uring, opcode const[IORING_REGISTER_BUFFERS], arg ptr[in, array[iovec_out]], nr_args len[arg])
+io_uring_register$IORING_UNREGISTER_BUFFERS(fd fd_io_uring, opcode const[IORING_UNREGISTER_BUFFERS], arg const[0], nr_args const[0])
+io_uring_register$IORING_REGISTER_FILES(fd fd_io_uring, opcode const[IORING_REGISTER_FILES], arg ptr[in, array[fd]], nr_args len[arg])
+io_uring_register$IORING_UNREGISTER_FILES(fd fd_io_uring, opcode const[IORING_UNREGISTER_FILES], arg const[0], nr_args const[0])
+mmap$IORING_OFF_SQ_RING(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_SQ_RING])
+mmap$IORING_OFF_CQ_RING(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_CQ_RING])
+mmap$IORING_OFF_SQES(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_io_uring, offset const[IORING_OFF_SQES])
+
+io_uring_setup_flags = IORING_SETUP_IOPOLL, IORING_SETUP_SQPOLL, IORING_SETUP_SQ_AFF
+io_uring_enter_flags = IORING_ENTER_GETEVENTS, IORING_ENTER_SQ_WAKEUP
+_ = __NR_mmap2
+
+io_uring_params {
+ sq_entries const[0, int32]
+ cq_entries const[0, int32]
+ flags flags[io_uring_setup_flags, int32]
+ sq_thread_cpu int32[0:3]
+ sq_thread_idle int32[0:1000]
+ resv array[const[0, int32], 5]
+ sq_off io_sqring_offsets
+ cq_off io_sqring_offsets
+}
+
+io_sqring_offsets {
+ head const[0, int32]
+ tail const[0, int32]
+ ring_mask const[0, int32]
+ ring_entries const[0, int32]
+ flags const[0, int32]
+ dropped const[0, int32]
+ array const[0, int32]
+ resv1 const[0, int32]
+ resv2 const[0, int64]
+}
diff --git a/sys/linux/io_uring_386.const b/sys/linux/io_uring_386.const
new file mode 100644
index 0000000..7fe64fa
--- /dev/null
+++ b/sys/linux/io_uring_386.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+IORING_ENTER_GETEVENTS = 1
+IORING_ENTER_SQ_WAKEUP = 2
+IORING_OFF_CQ_RING = 134217728
+IORING_OFF_SQES = 268435456
+IORING_OFF_SQ_RING = 0
+IORING_REGISTER_BUFFERS = 0
+IORING_REGISTER_FILES = 2
+IORING_SETUP_IOPOLL = 1
+IORING_SETUP_SQPOLL = 2
+IORING_SETUP_SQ_AFF = 4
+IORING_UNREGISTER_BUFFERS = 1
+IORING_UNREGISTER_FILES = 3
+__NR_io_uring_enter = 426
+__NR_io_uring_register = 427
+__NR_io_uring_setup = 425
+__NR_mmap = 192
+__NR_mmap2 = 192
diff --git a/sys/linux/io_uring_amd64.const b/sys/linux/io_uring_amd64.const
new file mode 100644
index 0000000..bdd50ba
--- /dev/null
+++ b/sys/linux/io_uring_amd64.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+IORING_ENTER_GETEVENTS = 1
+IORING_ENTER_SQ_WAKEUP = 2
+IORING_OFF_CQ_RING = 134217728
+IORING_OFF_SQES = 268435456
+IORING_OFF_SQ_RING = 0
+IORING_REGISTER_BUFFERS = 0
+IORING_REGISTER_FILES = 2
+IORING_SETUP_IOPOLL = 1
+IORING_SETUP_SQPOLL = 2
+IORING_SETUP_SQ_AFF = 4
+IORING_UNREGISTER_BUFFERS = 1
+IORING_UNREGISTER_FILES = 3
+__NR_io_uring_enter = 426
+__NR_io_uring_register = 427
+__NR_io_uring_setup = 425
+__NR_mmap = 9
+# __NR_mmap2 is not set
diff --git a/sys/linux/io_uring_arm.const b/sys/linux/io_uring_arm.const
new file mode 100644
index 0000000..d6d1422
--- /dev/null
+++ b/sys/linux/io_uring_arm.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+IORING_ENTER_GETEVENTS = 1
+IORING_ENTER_SQ_WAKEUP = 2
+IORING_OFF_CQ_RING = 134217728
+IORING_OFF_SQES = 268435456
+IORING_OFF_SQ_RING = 0
+IORING_REGISTER_BUFFERS = 0
+IORING_REGISTER_FILES = 2
+IORING_SETUP_IOPOLL = 1
+IORING_SETUP_SQPOLL = 2
+IORING_SETUP_SQ_AFF = 4
+IORING_UNREGISTER_BUFFERS = 1
+IORING_UNREGISTER_FILES = 3
+# __NR_io_uring_enter is not set
+# __NR_io_uring_register is not set
+# __NR_io_uring_setup is not set
+__NR_mmap = 192
+__NR_mmap2 = 192
diff --git a/sys/linux/io_uring_arm64.const b/sys/linux/io_uring_arm64.const
new file mode 100644
index 0000000..27c0306
--- /dev/null
+++ b/sys/linux/io_uring_arm64.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+IORING_ENTER_GETEVENTS = 1
+IORING_ENTER_SQ_WAKEUP = 2
+IORING_OFF_CQ_RING = 134217728
+IORING_OFF_SQES = 268435456
+IORING_OFF_SQ_RING = 0
+IORING_REGISTER_BUFFERS = 0
+IORING_REGISTER_FILES = 2
+IORING_SETUP_IOPOLL = 1
+IORING_SETUP_SQPOLL = 2
+IORING_SETUP_SQ_AFF = 4
+IORING_UNREGISTER_BUFFERS = 1
+IORING_UNREGISTER_FILES = 3
+__NR_io_uring_enter = 426
+__NR_io_uring_register = 427
+__NR_io_uring_setup = 425
+__NR_mmap = 222
+# __NR_mmap2 is not set
diff --git a/sys/linux/io_uring_ppc64le.const b/sys/linux/io_uring_ppc64le.const
new file mode 100644
index 0000000..bb02605
--- /dev/null
+++ b/sys/linux/io_uring_ppc64le.const
@@ -0,0 +1,18 @@
+# AUTOGENERATED FILE
+IORING_ENTER_GETEVENTS = 1
+IORING_ENTER_SQ_WAKEUP = 2
+IORING_OFF_CQ_RING = 134217728
+IORING_OFF_SQES = 268435456
+IORING_OFF_SQ_RING = 0
+IORING_REGISTER_BUFFERS = 0
+IORING_REGISTER_FILES = 2
+IORING_SETUP_IOPOLL = 1
+IORING_SETUP_SQPOLL = 2
+IORING_SETUP_SQ_AFF = 4
+IORING_UNREGISTER_BUFFERS = 1
+IORING_UNREGISTER_FILES = 3
+# __NR_io_uring_enter is not set
+# __NR_io_uring_register is not set
+# __NR_io_uring_setup is not set
+__NR_mmap = 90
+# __NR_mmap2 is not set
diff --git a/sys/linux/vusb_386.const b/sys/linux/vusb_386.const
index ed12975..0ab135e 100644
--- a/sys/linux/vusb_386.const
+++ b/sys/linux/vusb_386.const
@@ -78,23 +78,7 @@
USB_CDC_NETWORK_TERMINAL_TYPE = 10
USB_CDC_OBEX_TYPE = 21
USB_CDC_UNION_TYPE = 6
-USB_CLASS_APP_SPEC = 254
-USB_CLASS_AUDIO = 1
-USB_CLASS_CDC_DATA = 10
-USB_CLASS_COMM = 2
-USB_CLASS_CONTENT_SEC = 13
-USB_CLASS_CSCID = 11
-USB_CLASS_HID = 3
-USB_CLASS_HUB = 9
-USB_CLASS_MASS_STORAGE = 8
-USB_CLASS_MISC = 239
-USB_CLASS_PER_INTERFACE = 0
-USB_CLASS_PHYSICAL = 5
-USB_CLASS_PRINTER = 7
-USB_CLASS_STILL_IMAGE = 6
-USB_CLASS_VENDOR_SPEC = 255
-USB_CLASS_VIDEO = 14
-USB_CLASS_WIRELESS_CONTROLLER = 224
+USB_CDC_WHCM_TYPE = 17
USB_CONFIG_ATT_BATTERY = 16
USB_CONFIG_ATT_ONE = 128
USB_CONFIG_ATT_SELFPOWER = 64
diff --git a/sys/linux/vusb_amd64.const b/sys/linux/vusb_amd64.const
index ed12975..0ab135e 100644
--- a/sys/linux/vusb_amd64.const
+++ b/sys/linux/vusb_amd64.const
@@ -78,23 +78,7 @@
USB_CDC_NETWORK_TERMINAL_TYPE = 10
USB_CDC_OBEX_TYPE = 21
USB_CDC_UNION_TYPE = 6
-USB_CLASS_APP_SPEC = 254
-USB_CLASS_AUDIO = 1
-USB_CLASS_CDC_DATA = 10
-USB_CLASS_COMM = 2
-USB_CLASS_CONTENT_SEC = 13
-USB_CLASS_CSCID = 11
-USB_CLASS_HID = 3
-USB_CLASS_HUB = 9
-USB_CLASS_MASS_STORAGE = 8
-USB_CLASS_MISC = 239
-USB_CLASS_PER_INTERFACE = 0
-USB_CLASS_PHYSICAL = 5
-USB_CLASS_PRINTER = 7
-USB_CLASS_STILL_IMAGE = 6
-USB_CLASS_VENDOR_SPEC = 255
-USB_CLASS_VIDEO = 14
-USB_CLASS_WIRELESS_CONTROLLER = 224
+USB_CDC_WHCM_TYPE = 17
USB_CONFIG_ATT_BATTERY = 16
USB_CONFIG_ATT_ONE = 128
USB_CONFIG_ATT_SELFPOWER = 64
diff --git a/sys/linux/vusb_arm.const b/sys/linux/vusb_arm.const
index ed12975..0ab135e 100644
--- a/sys/linux/vusb_arm.const
+++ b/sys/linux/vusb_arm.const
@@ -78,23 +78,7 @@
USB_CDC_NETWORK_TERMINAL_TYPE = 10
USB_CDC_OBEX_TYPE = 21
USB_CDC_UNION_TYPE = 6
-USB_CLASS_APP_SPEC = 254
-USB_CLASS_AUDIO = 1
-USB_CLASS_CDC_DATA = 10
-USB_CLASS_COMM = 2
-USB_CLASS_CONTENT_SEC = 13
-USB_CLASS_CSCID = 11
-USB_CLASS_HID = 3
-USB_CLASS_HUB = 9
-USB_CLASS_MASS_STORAGE = 8
-USB_CLASS_MISC = 239
-USB_CLASS_PER_INTERFACE = 0
-USB_CLASS_PHYSICAL = 5
-USB_CLASS_PRINTER = 7
-USB_CLASS_STILL_IMAGE = 6
-USB_CLASS_VENDOR_SPEC = 255
-USB_CLASS_VIDEO = 14
-USB_CLASS_WIRELESS_CONTROLLER = 224
+USB_CDC_WHCM_TYPE = 17
USB_CONFIG_ATT_BATTERY = 16
USB_CONFIG_ATT_ONE = 128
USB_CONFIG_ATT_SELFPOWER = 64
diff --git a/sys/linux/vusb_arm64.const b/sys/linux/vusb_arm64.const
index ed12975..0ab135e 100644
--- a/sys/linux/vusb_arm64.const
+++ b/sys/linux/vusb_arm64.const
@@ -78,23 +78,7 @@
USB_CDC_NETWORK_TERMINAL_TYPE = 10
USB_CDC_OBEX_TYPE = 21
USB_CDC_UNION_TYPE = 6
-USB_CLASS_APP_SPEC = 254
-USB_CLASS_AUDIO = 1
-USB_CLASS_CDC_DATA = 10
-USB_CLASS_COMM = 2
-USB_CLASS_CONTENT_SEC = 13
-USB_CLASS_CSCID = 11
-USB_CLASS_HID = 3
-USB_CLASS_HUB = 9
-USB_CLASS_MASS_STORAGE = 8
-USB_CLASS_MISC = 239
-USB_CLASS_PER_INTERFACE = 0
-USB_CLASS_PHYSICAL = 5
-USB_CLASS_PRINTER = 7
-USB_CLASS_STILL_IMAGE = 6
-USB_CLASS_VENDOR_SPEC = 255
-USB_CLASS_VIDEO = 14
-USB_CLASS_WIRELESS_CONTROLLER = 224
+USB_CDC_WHCM_TYPE = 17
USB_CONFIG_ATT_BATTERY = 16
USB_CONFIG_ATT_ONE = 128
USB_CONFIG_ATT_SELFPOWER = 64
diff --git a/sys/linux/vusb_ppc64le.const b/sys/linux/vusb_ppc64le.const
index ed12975..0ab135e 100644
--- a/sys/linux/vusb_ppc64le.const
+++ b/sys/linux/vusb_ppc64le.const
@@ -78,23 +78,7 @@
USB_CDC_NETWORK_TERMINAL_TYPE = 10
USB_CDC_OBEX_TYPE = 21
USB_CDC_UNION_TYPE = 6
-USB_CLASS_APP_SPEC = 254
-USB_CLASS_AUDIO = 1
-USB_CLASS_CDC_DATA = 10
-USB_CLASS_COMM = 2
-USB_CLASS_CONTENT_SEC = 13
-USB_CLASS_CSCID = 11
-USB_CLASS_HID = 3
-USB_CLASS_HUB = 9
-USB_CLASS_MASS_STORAGE = 8
-USB_CLASS_MISC = 239
-USB_CLASS_PER_INTERFACE = 0
-USB_CLASS_PHYSICAL = 5
-USB_CLASS_PRINTER = 7
-USB_CLASS_STILL_IMAGE = 6
-USB_CLASS_VENDOR_SPEC = 255
-USB_CLASS_VIDEO = 14
-USB_CLASS_WIRELESS_CONTROLLER = 224
+USB_CDC_WHCM_TYPE = 17
USB_CONFIG_ATT_BATTERY = 16
USB_CONFIG_ATT_ONE = 128
USB_CONFIG_ATT_SELFPOWER = 64