diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-11-28 16:25:45 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-11-28 19:15:28 +0100 |
| commit | 1808de66ce1b8db0fc76b5b6398e3386ca2e7ad6 (patch) | |
| tree | 5dfb75e113f3f1cbc04b59ffd0bee45de400f26a /sys/linux/arm.go | |
| parent | e338ada43ca8221b09fe8d2ae66c5d95f29611d6 (diff) | |
prog: repair arrays/buffers with incorrect size in Deserialize
For string[N] we successfully deserialize a string of any length.
Similarly for a fixed-size array[T, N] we successfully deserialize
an array of any size.
Such programs later crash in foreachSubargOffset because static size
Type.Size() does not match what we've calculated iterating over fields.
The crash happens only in SerializeForExec in syz-fuzzer,
which is especially bad.
Fix this from both sides:
1. Validate sizes of arrays/buffers in Validate.
2. Repair incorrect sizes in Deserialize.
Diffstat (limited to 'sys/linux/arm.go')
| -rw-r--r-- | sys/linux/arm.go | 99 |
1 files changed, 54 insertions, 45 deletions
diff --git a/sys/linux/arm.go b/sys/linux/arm.go index 3d1571c8e..43f1b882b 100644 --- a/sys/linux/arm.go +++ b/sys/linux/arm.go @@ -5120,6 +5120,9 @@ var structDescs_arm = []*KeyedStruct{ {Key: StructKey{Name: "syz_regression0_struct", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_regression0_struct", TypeSize: 4, ArgDir: 2}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "f0", TypeSize: 4, ArgDir: 2}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1}}}, }}}, + {Key: StructKey{Name: "syz_regression1_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_regression1_struct", TypeSize: 4}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "array", FldName: "f0", TypeSize: 4}, Kind: 1, RangeBegin: 4, RangeEnd: 4}, + }}}, {Key: StructKey{Name: "syz_struct0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_struct0", TypeSize: 9}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "f0", TypeSize: 8}}}, &StructType{Key: StructKey{Name: "syz_struct1"}, FldName: "f1"}, @@ -13683,39 +13686,45 @@ var syscalls_arm = []*Syscall{ {ID: 1455, NR: 1000008, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_regression0_struct", Dir: 2}}}, }}, - {ID: 1456, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1457, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ + {ID: 1456, NR: 1000008, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "syz_regression1_struct"}}}}, + }}, + {ID: 1457, NR: 1000008, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array", TypeSize: 16}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4}}}, Kind: 1, RangeBegin: 4, RangeEnd: 4}}, + }}, + {ID: 1458, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 1459, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 1458, NR: 1000008, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 1460, NR: 1000008, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_struct0"}}}, }}, - {ID: 1459, NR: 1000008, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 1461, NR: 1000008, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 1}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 1460, NR: 1000008, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 1462, NR: 1000008, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 2}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 1461, NR: 1000008, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 1463, NR: 1000008, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 3}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 1462, NR: 1000008, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 1464, NR: 1000008, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 1463, NR: 1000008, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 1465, NR: 1000008, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_union0_struct"}}}, }}, - {ID: 1464, NR: 1000008, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 1466, NR: 1000008, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_union1_struct"}}}, }}, - {ID: 1465, NR: 1000008, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 1467, NR: 1000008, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_union2_struct"}}}, }}, - {ID: 1466, NR: 1000008, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 1468, NR: 1000008, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v0", TypeSize: 4}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "l0", TypeSize: 4}}, Buf: "v0"}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v1", TypeSize: 4}, RangeBegin: 5, RangeEnd: 5}, @@ -13723,151 +13732,151 @@ var syscalls_arm = []*Syscall{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v2", TypeSize: 4}, RangeBegin: 7, RangeEnd: 9}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "l2", TypeSize: 4}}, Buf: "v2"}, }}, - {ID: 1467, NR: 342, Name: "tee", CallName: "tee", Args: []Type{ + {ID: 1469, NR: 342, Name: "tee", CallName: "tee", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdin", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fdout", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "len", TypeSize: 8}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "splice_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1468, NR: 268, Name: "tgkill", CallName: "tgkill", Args: []Type{ + {ID: 1470, NR: 268, Name: "tgkill", CallName: "tgkill", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "gid", TypeSize: 4}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "tid", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "signalno", FldName: "sig", TypeSize: 4}}, Kind: 2, RangeEnd: 65}, }}, - {ID: 1469, NR: 257, Name: "timer_create", CallName: "timer_create", Args: []Type{ + {ID: 1471, NR: 257, Name: "timer_create", CallName: "timer_create", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clock_id", FldName: "id", TypeSize: 4}}, Vals: []uint64{0, 5, 1, 6, 4, 7, 2, 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ev", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "sigevent"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "timerid", TypeSize: 4}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", TypeSize: 4, ArgDir: 1}}}, }}, - {ID: 1470, NR: 261, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ + {ID: 1472, NR: 261, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1471, NR: 260, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ + {ID: 1473, NR: 260, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1472, NR: 259, Name: "timer_gettime", CallName: "timer_gettime", Args: []Type{ + {ID: 1474, NR: 259, Name: "timer_gettime", CallName: "timer_gettime", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "setting", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1473, NR: 258, Name: "timer_settime", CallName: "timer_settime", Args: []Type{ + {ID: 1475, NR: 258, Name: "timer_settime", CallName: "timer_settime", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "timer_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 1}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerspec"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1474, NR: 350, Name: "timerfd_create", CallName: "timerfd_create", Args: []Type{ + {ID: 1476, NR: 350, Name: "timerfd_create", CallName: "timerfd_create", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clock_type", FldName: "clockid", TypeSize: 4}}, Vals: []uint64{0, 5, 1, 6, 4, 7, 2, 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "timerfd_create_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_timer", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1475, NR: 354, Name: "timerfd_gettime", CallName: "timerfd_gettime", Args: []Type{ + {ID: 1477, NR: 354, Name: "timerfd_gettime", CallName: "timerfd_gettime", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_timer", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "cur", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1476, NR: 353, Name: "timerfd_settime", CallName: "timerfd_settime", Args: []Type{ + {ID: 1478, NR: 353, Name: "timerfd_settime", CallName: "timerfd_settime", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_timer", FldName: "fd", TypeSize: 4}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "timerfd_settime_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerspec"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1477, NR: 43, Name: "times", CallName: "times", Args: []Type{ + {ID: 1479, NR: 43, Name: "times", CallName: "times", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "tms", Dir: 1}}}, }}, - {ID: 1478, NR: 238, Name: "tkill", CallName: "tkill", Args: []Type{ + {ID: 1480, NR: 238, Name: "tkill", CallName: "tkill", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "tid", TypeSize: 4}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "signalno", FldName: "sig", TypeSize: 4}}, Kind: 2, RangeEnd: 65}, }}, - {ID: 1479, NR: 92, Name: "truncate", CallName: "truncate", Args: []Type{ + {ID: 1481, NR: 92, Name: "truncate", CallName: "truncate", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 4}}}, }}, - {ID: 1480, NR: 52, Name: "umount2", CallName: "umount2", Args: []Type{ + {ID: 1482, NR: 52, Name: "umount2", CallName: "umount2", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "umount_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1481, NR: 122, Name: "uname", CallName: "uname", Args: []Type{ + {ID: 1483, NR: 122, Name: "uname", CallName: "uname", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1}}}, }}, - {ID: 1482, NR: 10, Name: "unlink", CallName: "unlink", Args: []Type{ + {ID: 1484, NR: 10, Name: "unlink", CallName: "unlink", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1483, NR: 328, Name: "unlinkat", CallName: "unlinkat", Args: []Type{ + {ID: 1485, NR: 328, Name: "unlinkat", CallName: "unlinkat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "unlinkat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 512}}, }}, - {ID: 1484, NR: 337, Name: "unshare", CallName: "unshare", Args: []Type{ + {ID: 1486, NR: 337, Name: "unshare", CallName: "unshare", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clone_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{256, 512, 1024, 2048, 8192, 16384, 32768, 65536, 131072, 262144, 524288, 1048576, 2097152, 8388608, 16777216, 33554432, 67108864, 134217728, 268435456, 536870912, 1073741824, 2147483648}}, }}, - {ID: 1485, NR: 86, Name: "uselib", CallName: "uselib", Args: []Type{ + {ID: 1487, NR: 86, Name: "uselib", CallName: "uselib", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "lib", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1486, NR: 388, Name: "userfaultfd", CallName: "userfaultfd", Args: []Type{ + {ID: 1488, NR: 388, Name: "userfaultfd", CallName: "userfaultfd", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "userfaultfd_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uffd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1487, NR: 62, Name: "ustat", CallName: "ustat", Args: []Type{ + {ID: 1489, NR: 62, Name: "ustat", CallName: "ustat", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "dev", TypeSize: 4}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "ustat", Dir: 1}}}, }}, - {ID: 1488, NR: 348, Name: "utimensat", CallName: "utimensat", Args: []Type{ + {ID: 1490, NR: 348, Name: "utimensat", CallName: "utimensat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "dir", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "pathname", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "times", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerval"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "utimensat_flags", FldName: "flags", TypeSize: 4}}, Vals: []uint64{0, 256}}, }}, - {ID: 1489, NR: 269, Name: "utimes", CallName: "utimes", Args: []Type{ + {ID: 1491, NR: 269, Name: "utimes", CallName: "utimes", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "filename", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "times", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "itimerval"}}}, }}, - {ID: 1490, NR: 343, Name: "vmsplice", CallName: "vmsplice", Args: []Type{ + {ID: 1492, NR: 343, Name: "vmsplice", CallName: "vmsplice", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", TypeSize: 4}}, Buf: "vec"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "splice_flags", FldName: "f", TypeSize: 4}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1491, NR: 114, Name: "wait4", CallName: "wait4", Args: []Type{ + {ID: 1493, NR: 114, Name: "wait4", CallName: "wait4", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "status", TypeSize: 4, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", TypeSize: 4, ArgDir: 1}}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 4}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}}, }}, - {ID: 1492, NR: 280, Name: "waitid", CallName: "waitid", Args: []Type{ + {ID: 1494, NR: 280, Name: "waitid", CallName: "waitid", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "waitid_which", FldName: "which", TypeSize: 4}}, Vals: []uint64{1, 2, 0}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "infop", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "siginfo", Dir: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 4}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}}, }}, - {ID: 1493, NR: 4, Name: "write", CallName: "write", Args: []Type{ + {ID: 1495, NR: 4, Name: "write", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 4}, Type: &BufferType{}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Buf: "buf"}, }}, - {ID: 1494, NR: 4, Name: "write$evdev", CallName: "write", Args: []Type{ + {ID: 1496, NR: 4, Name: "write$evdev", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_evdev", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "input_event"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 1495, NR: 4, Name: "write$eventfd", CallName: "write", Args: []Type{ + {ID: 1497, NR: 4, Name: "write$eventfd", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_event", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "val", TypeSize: 4}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 4}}, Buf: "val"}, }}, - {ID: 1496, NR: 4, Name: "write$fuse", CallName: "write", Args: []Type{ + {ID: 1498, NR: 4, Name: "write$fuse", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_fuse", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "arg", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "fuse_out"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, ByteSize: 1, Buf: "arg"}, }}, - {ID: 1497, NR: 4, Name: "write$sndseq", CallName: "write", Args: []Type{ + {ID: 1499, NR: 4, Name: "write$sndseq", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_sndseq", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "snd_seq_event"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 4}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 1498, NR: 4, Name: "write$tun", CallName: "write", Args: []Type{ + {ID: 1500, NR: 4, Name: "write$tun", CallName: "write", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_tun", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 4}, Type: &UnionType{Key: StructKey{Name: "tun_buffer"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 4}}, Buf: "buf"}, }}, - {ID: 1499, NR: 146, Name: "writev", CallName: "writev", Args: []Type{ + {ID: 1501, NR: 146, Name: "writev", CallName: "writev", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 4}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", TypeSize: 4}}, Buf: "vec"}, @@ -16888,4 +16897,4 @@ var consts_arm = []ConstValue{ {Name: "__WNOTHREAD", Value: 536870912}, } -const revision_arm = "a25f2f53cf3daee43c2a9865fcf90bd99ca4c53f" +const revision_arm = "1371837664b1cb11a212e1f3748c10ec134ac955" |
