aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2019-10-15 13:18:53 +0200
committerDmitry Vyukov <dvyukov@google.com>2019-10-15 13:50:06 +0200
commit6078bcf4f9f1450c5858386a76241cfe4d7262ee (patch)
treed14118946b67e6186d11d4d332aead3494671435 /sys/linux
parentef4a2149feeadf5833638d9b6ec3e53cb8dfd39d (diff)
sys/linux: add watch_queue descriptions
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/gen/386.go40
-rw-r--r--sys/linux/gen/amd64.go40
-rw-r--r--sys/linux/gen/arm.go40
-rw-r--r--sys/linux/gen/arm64.go40
-rw-r--r--sys/linux/gen/ppc64le.go40
-rw-r--r--sys/linux/watch_queue.txt29
-rw-r--r--sys/linux/watch_queue_386.const8
-rw-r--r--sys/linux/watch_queue_amd64.const8
-rw-r--r--sys/linux/watch_queue_arm.const8
-rw-r--r--sys/linux/watch_queue_arm64.const8
-rw-r--r--sys/linux/watch_queue_ppc64le.const8
11 files changed, 264 insertions, 5 deletions
diff --git a/sys/linux/gen/386.go b/sys/linux/gen/386.go
index b6f736836..0f5f561bc 100644
--- a/sys/linux/gen/386.go
+++ b/sys/linux/gen/386.go
@@ -126,6 +126,7 @@ var resources_386 = []*ResourceDesc{
{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+ {Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28022,6 +28023,17 @@ var structDescs_386 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
}}},
+ {Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+ }}},
+ {Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+ }}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34597,6 +34609,16 @@ var syscalls_386 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074819273},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
}},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22369},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+ }},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22368},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+ }},
{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222817024},
@@ -38873,6 +38895,14 @@ var syscalls_386 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}},
+ {NR: 192, Name: "mmap$watch_queue", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"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, 67108864, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+ }},
{NR: 192, Name: "mmap$xdp", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
@@ -39766,6 +39796,12 @@ var syscalls_386 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 295, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 295, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47586,6 +47622,8 @@ var consts_386 = []ConstValue{
{Name: "IOC_PR_REGISTER", Value: 1075343560},
{Name: "IOC_PR_RELEASE", Value: 1074819274},
{Name: "IOC_PR_RESERVE", Value: 1074819273},
+ {Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+ {Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
{Name: "ION_FLAG_CACHED", Value: 1},
{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53436,4 +53474,4 @@ var consts_386 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_386 = "aa1396241f46bcc6fb20a1c9a155aff4af6b18b9"
+const revision_386 = "caa34ba6028e204ea1ede873fa3484a49a147985"
diff --git a/sys/linux/gen/amd64.go b/sys/linux/gen/amd64.go
index 3ecfcf795..a994bfb15 100644
--- a/sys/linux/gen/amd64.go
+++ b/sys/linux/gen/amd64.go
@@ -126,6 +126,7 @@ var resources_amd64 = []*ResourceDesc{
{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+ {Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28407,6 +28408,17 @@ var structDescs_amd64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
}}},
+ {Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+ }}},
+ {Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+ }}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -35101,6 +35113,16 @@ var syscalls_amd64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074819273},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
}},
+ {NR: 16, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22369},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+ }},
+ {NR: 16, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22368},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+ }},
{NR: 16, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -39397,6 +39419,14 @@ var syscalls_amd64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 9, Name: "mmap$watch_queue", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"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, 67108864, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 9, Name: "mmap$xdp", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -40290,6 +40320,12 @@ var syscalls_amd64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 257, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 16384, 65536, 128, 32768, 262144, 256, 131072, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 257, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -48115,6 +48151,8 @@ var consts_amd64 = []ConstValue{
{Name: "IOC_PR_REGISTER", Value: 1075343560},
{Name: "IOC_PR_RELEASE", Value: 1074819274},
{Name: "IOC_PR_RESERVE", Value: 1074819273},
+ {Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+ {Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
{Name: "ION_FLAG_CACHED", Value: 1},
{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53980,4 +54018,4 @@ var consts_amd64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_amd64 = "e7d25307e725b1e6951f545be84795f566d999a8"
+const revision_amd64 = "5bb7010023efe0a465a43638f719c7ab6d7b2158"
diff --git a/sys/linux/gen/arm.go b/sys/linux/gen/arm.go
index 188f1ad77..200260d7e 100644
--- a/sys/linux/gen/arm.go
+++ b/sys/linux/gen/arm.go
@@ -126,6 +126,7 @@ var resources_arm = []*ResourceDesc{
{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+ {Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -27828,6 +27829,17 @@ var structDescs_arm = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
}}},
+ {Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+ }}},
+ {Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+ }}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34401,6 +34413,16 @@ var syscalls_arm = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 1074819273},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
}},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22369},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+ }},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 22368},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+ }},
{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 4}}, Val: 3222817024},
@@ -38554,6 +38576,14 @@ var syscalls_arm = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 4}}, Kind: 1},
}},
+ {NR: 192, Name: "mmap$watch_queue", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"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, 67108864, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 4}}},
+ }},
{NR: 192, Name: "mmap$xdp", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 4}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Path: []string{"addr"}},
@@ -39427,6 +39457,12 @@ var syscalls_arm = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 322, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 4}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 322, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 4}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47225,6 +47261,8 @@ var consts_arm = []ConstValue{
{Name: "IOC_PR_REGISTER", Value: 1075343560},
{Name: "IOC_PR_RELEASE", Value: 1074819274},
{Name: "IOC_PR_RESERVE", Value: 1074819273},
+ {Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+ {Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
{Name: "ION_FLAG_CACHED", Value: 1},
{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53013,4 +53051,4 @@ var consts_arm = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm = "83c3c7ca6808ff3085c1422f4eb13a6917a9d6a5"
+const revision_arm = "0b7b2d545de7e689555e47957f7e2ced5fa23f1d"
diff --git a/sys/linux/gen/arm64.go b/sys/linux/gen/arm64.go
index 31910adab..c96f718b7 100644
--- a/sys/linux/gen/arm64.go
+++ b/sys/linux/gen/arm64.go
@@ -126,6 +126,7 @@ var resources_arm64 = []*ResourceDesc{
{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+ {Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28199,6 +28200,17 @@ var structDescs_arm64 = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
}}},
+ {Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+ }}},
+ {Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+ }}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34813,6 +34825,16 @@ var syscalls_arm64 = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 1074819273},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
}},
+ {NR: 29, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22369},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+ }},
+ {NR: 29, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 22368},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+ }},
{NR: 29, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -38959,6 +38981,14 @@ var syscalls_arm64 = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 222, Name: "mmap$watch_queue", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"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, 67108864, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 222, Name: "mmap$xdp", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -39822,6 +39852,12 @@ var syscalls_arm64 = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 56, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 65536, 16384, 128, 131072, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 56, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47561,6 +47597,8 @@ var consts_arm64 = []ConstValue{
{Name: "IOC_PR_REGISTER", Value: 1075343560},
{Name: "IOC_PR_RELEASE", Value: 1074819274},
{Name: "IOC_PR_RESERVE", Value: 1074819273},
+ {Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 22369},
+ {Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 22368},
{Name: "ION_FLAG_CACHED", Value: 1},
{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53332,4 +53370,4 @@ var consts_arm64 = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_arm64 = "e37e0795739c9fbd08ef79ba57bcee09ec4262f9"
+const revision_arm64 = "f9df0cdbf2cb34d1601a792c5e261d29f4d9d2da"
diff --git a/sys/linux/gen/ppc64le.go b/sys/linux/gen/ppc64le.go
index d1a6e58d9..62a3bffa5 100644
--- a/sys/linux/gen/ppc64le.go
+++ b/sys/linux/gen/ppc64le.go
@@ -126,6 +126,7 @@ var resources_ppc64le = []*ResourceDesc{
{Name: "fd_vhci", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhci"}, Values: []uint64{18446744073709551615}},
{Name: "fd_vhost", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_vhost"}, Values: []uint64{18446744073709551615}},
{Name: "fd_video", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_video"}, Values: []uint64{18446744073709551615}},
+ {Name: "fd_watch_queue", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"fd", "fd_watch_queue"}, Values: []uint64{18446744073709551615}},
{Name: "flow_handle", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: []string{"flow_handle"}, Values: []uint64{0}},
{Name: "genl_fou_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_fou_family_id"}, Values: []uint64{0}},
{Name: "genl_ipvs_family_id", Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", TypeSize: 2}}}, Kind: []string{"genl_ipvs_family_id"}, Values: []uint64{0}},
@@ -28094,6 +28095,17 @@ var structDescs_ppc64le = []*KeyedStruct{
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_RES", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_RES, array[int8, 1:4]]"}}},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "audio_UAC_GET_MEM", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "vusb_response_t[USB_TYPE_CLASS, UAC_GET_MEM, array[int8, 3]]"}}},
}}},
+ {Key: StructKey{Name: "watch_notification_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_filter", IsVarlen: true}, Fields: []Type{
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "nr_filters", TypeSize: 4}}, Path: []string{"filters"}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "__reserved", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "filters", IsVarlen: true}, Type: &StructType{Key: StructKey{Name: "watch_notification_type_filter"}}},
+ }}},
+ {Key: StructKey{Name: "watch_notification_type_filter"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "watch_notification_type_filter", TypeSize: 44}, Fields: []Type{
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "type", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_filter", TypeSize: 4}}},
+ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "info_mask", TypeSize: 4}}},
+ &ArrayType{TypeCommon: TypeCommon{TypeName: "array", FldName: "subtype_filter", TypeSize: 32}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 8, RangeEnd: 8},
+ }}},
{Key: StructKey{Name: "winsize"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "winsize", TypeSize: 8}, Fields: []Type{
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "row", TypeSize: 2}}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "col", TypeSize: 2}}},
@@ -34749,6 +34761,16 @@ var syscalls_ppc64le = []*Syscall{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 2148561097},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "pr_reservation"}}},
}},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_FILTER", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 536893281},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "watch_notification_filter"}}},
+ }},
+ {NR: 54, Name: "ioctl$IOC_WATCH_QUEUE_SET_SIZE", CallName: "ioctl", Args: []Type{
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 536893280},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "watch_queue_size", FldName: "arg", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8, 16}, BitMask: true},
+ }},
{NR: 54, Name: "ioctl$ION_IOC_ALLOC", CallName: "ioctl", Args: []Type{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_ion", FldName: "fd", TypeSize: 4}},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "cmd", TypeSize: 8}}, Val: 3222817024},
@@ -38860,6 +38882,14 @@ var syscalls_ppc64le = []*Syscall{
&ResourceType{TypeCommon: TypeCommon{TypeName: "fd_usbmon", FldName: "fd", TypeSize: 4}},
&IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "fileoff", FldName: "offset", TypeSize: 8}}, Kind: 1},
}},
+ {NR: 90, Name: "mmap$watch_queue", CallName: "mmap", Args: []Type{
+ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
+ &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"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, 67108864, 3, 524288, 1048576}},
+ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "fd", TypeSize: 4}},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "offset", TypeSize: 8}}},
+ }},
{NR: 90, Name: "mmap$xdp", CallName: "mmap", Args: []Type{
&VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "addr", TypeSize: 8}},
&LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Path: []string{"addr"}},
@@ -39753,6 +39783,12 @@ var syscalls_ppc64le = []*Syscall{
&FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 131072, 16384, 128, 65536, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
}, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
+ {NR: 286, Name: "openat$watch_queue", CallName: "openat", Args: []Type{
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
+ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 20}, Kind: 2, Values: []string{"/dev/fd_watch_queue\x00"}}},
+ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "open_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 1, 2, 1024, 8192, 524288, 64, 131072, 16384, 128, 65536, 262144, 256, 32768, 2048, 2097152, 1052672, 512, 4194304}, BitMask: true},
+ &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "mode", TypeSize: 8}}},
+ }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_watch_queue", FldName: "ret", TypeSize: 4, ArgDir: 1}}},
{NR: 286, Name: "openat$xenevtchn", CallName: "openat", Args: []Type{
&ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "const", FldName: "fd", TypeSize: 8}}, Val: 18446744073709551516},
&PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "string", TypeSize: 16}, Kind: 2, Values: []string{"/dev/xen/evtchn\x00"}}},
@@ -47554,6 +47590,8 @@ var consts_ppc64le = []ConstValue{
{Name: "IOC_PR_REGISTER", Value: 2149085384},
{Name: "IOC_PR_RELEASE", Value: 2148561098},
{Name: "IOC_PR_RESERVE", Value: 2148561097},
+ {Name: "IOC_WATCH_QUEUE_SET_FILTER", Value: 536893281},
+ {Name: "IOC_WATCH_QUEUE_SET_SIZE", Value: 536893280},
{Name: "ION_FLAG_CACHED", Value: 1},
{Name: "ION_HEAP_TYPE_CARVEOUT_BIT", Value: 4},
{Name: "ION_HEAP_TYPE_CHUNK_BIT", Value: 8},
@@ -53297,4 +53335,4 @@ var consts_ppc64le = []ConstValue{
{Name: "bpf_insn_load_imm_dw", Value: 24},
}
-const revision_ppc64le = "42a1b9f46b354dff77558c3da620f311189b48aa"
+const revision_ppc64le = "261e2fa5f00888060a46dbcb9028289bf439890f"
diff --git a/sys/linux/watch_queue.txt b/sys/linux/watch_queue.txt
new file mode 100644
index 000000000..d6bc9b33c
--- /dev/null
+++ b/sys/linux/watch_queue.txt
@@ -0,0 +1,29 @@
+# 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.
+
+include <linux/fcntl.h>
+include <linux/ioctl.h>
+include <uapi/linux/watch_queue.h>
+
+resource fd_watch_queue[fd]
+
+openat$watch_queue(fd const[AT_FDCWD], file ptr[in, string["/dev/fd_watch_queue"]], flags flags[open_flags], mode const[0]) fd_watch_queue
+mmap$watch_queue(addr vma, len len[addr], prot flags[mmap_prot], flags flags[mmap_flags], fd fd_watch_queue, offset const[0])
+ioctl$IOC_WATCH_QUEUE_SET_SIZE(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_SIZE], arg flags[watch_queue_size])
+ioctl$IOC_WATCH_QUEUE_SET_FILTER(fd fd_watch_queue, cmd const[IOC_WATCH_QUEUE_SET_FILTER], arg ptr[in, watch_notification_filter])
+
+watch_notification_filter {
+ nr_filters len[filters, int32]
+ __reserved const[0, int32]
+ filters array[watch_notification_type_filter]
+}
+
+watch_notification_type_filter {
+ type int32
+ info_filter int32
+ info_mask int32
+ subtype_filter array[int32, 8]
+}
+
+watch_queue_size = 1, 2, 4, 8, 16
+_ = __NR_mmap2
diff --git a/sys/linux/watch_queue_386.const b/sys/linux/watch_queue_386.const
new file mode 100644
index 000000000..a499f9489
--- /dev/null
+++ b/sys/linux/watch_queue_386.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 54
+__NR_mmap = 192
+__NR_mmap2 = 192
+__NR_openat = 295
diff --git a/sys/linux/watch_queue_amd64.const b/sys/linux/watch_queue_amd64.const
new file mode 100644
index 000000000..35b23cfaa
--- /dev/null
+++ b/sys/linux/watch_queue_amd64.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 16
+__NR_mmap = 9
+# __NR_mmap2 is not set
+__NR_openat = 257
diff --git a/sys/linux/watch_queue_arm.const b/sys/linux/watch_queue_arm.const
new file mode 100644
index 000000000..a0062b24a
--- /dev/null
+++ b/sys/linux/watch_queue_arm.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 54
+__NR_mmap = 192
+__NR_mmap2 = 192
+__NR_openat = 322
diff --git a/sys/linux/watch_queue_arm64.const b/sys/linux/watch_queue_arm64.const
new file mode 100644
index 000000000..710f187af
--- /dev/null
+++ b/sys/linux/watch_queue_arm64.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 22369
+IOC_WATCH_QUEUE_SET_SIZE = 22368
+__NR_ioctl = 29
+__NR_mmap = 222
+# __NR_mmap2 is not set
+__NR_openat = 56
diff --git a/sys/linux/watch_queue_ppc64le.const b/sys/linux/watch_queue_ppc64le.const
new file mode 100644
index 000000000..21e0512bd
--- /dev/null
+++ b/sys/linux/watch_queue_ppc64le.const
@@ -0,0 +1,8 @@
+# AUTOGENERATED FILE
+AT_FDCWD = 18446744073709551516
+IOC_WATCH_QUEUE_SET_FILTER = 536893281
+IOC_WATCH_QUEUE_SET_SIZE = 536893280
+__NR_ioctl = 54
+__NR_mmap = 90
+# __NR_mmap2 is not set
+__NR_openat = 286