From 4f421599f9bdb6f82820cbfb80b0bbcb6b9977c9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 12 Apr 2019 16:19:23 +0200 Subject: sys/linux: add simple io_uring descriptions We don't actually communicate with the uring yet, but this already finds a bunch of bugs. --- sys/linux/gen/arm.go | 63 ++++++++++++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 21 deletions(-) (limited to 'sys/linux/gen/arm.go') diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go index 2e645892a..2506e110e 100644 --- a/sys/linux/gen/arm.go +++ b/sys/linux/gen/arm.go @@ -51,6 +51,7 @@ var resources_arm = []*ResourceDesc{ {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 @@ var structDescs_arm = []*KeyedStruct{ &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 @@ var structDescs_arm = []*KeyedStruct{ {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 @@ var syscalls_arm = []*Syscall{ &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 @@ var consts_arm = []ConstValue{ {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 @@ var consts_arm = []ConstValue{ {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 @@ var consts_arm = []ConstValue{ {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 @@ var consts_arm = []ConstValue{ {Name: "bpf_insn_load_imm_dw", Value: 24}, } -const revision_arm = "5592a027d775abc4bea1d90f8868ac1b4943965a" +const revision_arm = "bd0de07d98740b4fc358ac0eec3bef00c5256d94" -- cgit mrf-deployment