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/ppc64le.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/ppc64le.go')
| -rw-r--r-- | sys/linux/ppc64le.go | 103 |
1 files changed, 56 insertions, 47 deletions
diff --git a/sys/linux/ppc64le.go b/sys/linux/ppc64le.go index d793a19fe..89a405239 100644 --- a/sys/linux/ppc64le.go +++ b/sys/linux/ppc64le.go @@ -5092,6 +5092,9 @@ var structDescs_ppc64le = []*KeyedStruct{ {Key: StructKey{Name: "syz_regression0_struct", Dir: 2}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_regression0_struct", TypeSize: 8, ArgDir: 2}, Fields: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "f0", TypeSize: 8, 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"}, @@ -13419,39 +13422,45 @@ var syscalls_ppc64le = []*Syscall{ {ID: 1413, NR: 1000008, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_regression0_struct", Dir: 2}}}, }}, - {ID: 1414, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1415, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ + {ID: 1414, NR: 1000008, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "syz_regression1_struct"}}}}, + }}, + {ID: 1415, NR: 1000008, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 8}, 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: 1416, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 1417, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 1416, NR: 1000008, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 1418, NR: 1000008, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_struct0"}}}, }}, - {ID: 1417, NR: 1000008, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 1419, NR: 1000008, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 1}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 1418, NR: 1000008, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 1420, NR: 1000008, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 2}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 1419, NR: 1000008, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 1421, NR: 1000008, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4, Text: 3}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 1420, NR: 1000008, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 1422, NR: 1000008, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "text"}, Kind: 4}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 1421, NR: 1000008, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 1423, NR: 1000008, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_union0_struct"}}}, }}, - {ID: 1422, NR: 1000008, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 1424, NR: 1000008, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_union1_struct"}}}, }}, - {ID: 1423, NR: 1000008, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 1425, NR: 1000008, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_union2_struct"}}}, }}, - {ID: 1424, NR: 1000008, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 1426, NR: 1000008, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v0", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "l0", TypeSize: 8}}, Buf: "v0"}, &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v1", TypeSize: 8}, RangeBegin: 5, RangeEnd: 5}, @@ -13459,158 +13468,158 @@ var syscalls_ppc64le = []*Syscall{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "v2", TypeSize: 8}, RangeBegin: 7, RangeEnd: 9}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "l2", TypeSize: 8}}, Buf: "v2"}, }}, - {ID: 1425, NR: 284, Name: "tee", CallName: "tee", Args: []Type{ + {ID: 1427, NR: 284, 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: 8}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1426, NR: 250, Name: "tgkill", CallName: "tgkill", Args: []Type{ + {ID: 1428, NR: 250, 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: 1427, NR: 13, Name: "time", CallName: "time", Args: []Type{ + {ID: 1429, NR: 13, Name: "time", CallName: "time", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "t", TypeSize: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8, ArgDir: 1}}}}, }}, - {ID: 1428, NR: 240, Name: "timer_create", CallName: "timer_create", Args: []Type{ + {ID: 1430, NR: 240, Name: "timer_create", CallName: "timer_create", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clock_id", FldName: "id", TypeSize: 8}}, Vals: []uint64{0, 5, 1, 6, 4, 7, 2, 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ev", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "sigevent"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "timerid", TypeSize: 8}, Type: &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", TypeSize: 4, ArgDir: 1}}}, }}, - {ID: 1429, NR: 244, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ + {ID: 1431, NR: 244, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1430, NR: 243, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ + {ID: 1432, NR: 243, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1431, NR: 242, Name: "timer_gettime", CallName: "timer_gettime", Args: []Type{ + {ID: 1433, NR: 242, 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: 8}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1432, NR: 241, Name: "timer_settime", CallName: "timer_settime", Args: []Type{ + {ID: 1434, NR: 241, 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: 8}}, Vals: []uint64{0, 1}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "itimerspec"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1433, NR: 306, Name: "timerfd_create", CallName: "timerfd_create", Args: []Type{ + {ID: 1435, NR: 306, Name: "timerfd_create", CallName: "timerfd_create", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clock_type", FldName: "clockid", TypeSize: 8}}, Vals: []uint64{0, 5, 1, 6, 4, 7, 2, 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "timerfd_create_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_timer", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1434, NR: 312, Name: "timerfd_gettime", CallName: "timerfd_gettime", Args: []Type{ + {ID: 1436, NR: 312, 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: 8}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1435, NR: 311, Name: "timerfd_settime", CallName: "timerfd_settime", Args: []Type{ + {ID: 1437, NR: 311, 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: 8}}, Vals: []uint64{1}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "new", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "itimerspec"}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "old", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "itimerspec", Dir: 1}}}, }}, - {ID: 1436, NR: 43, Name: "times", CallName: "times", Args: []Type{ + {ID: 1438, NR: 43, Name: "times", CallName: "times", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "tms", Dir: 1}}}, }}, - {ID: 1437, NR: 208, Name: "tkill", CallName: "tkill", Args: []Type{ + {ID: 1439, NR: 208, 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: 1438, NR: 92, Name: "truncate", CallName: "truncate", Args: []Type{ + {ID: 1440, NR: 92, Name: "truncate", CallName: "truncate", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "file", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "len", TypeSize: 8}}}, }}, - {ID: 1439, NR: 52, Name: "umount2", CallName: "umount2", Args: []Type{ + {ID: 1441, NR: 52, Name: "umount2", CallName: "umount2", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "umount_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1440, NR: 122, Name: "uname", CallName: "uname", Args: []Type{ + {ID: 1442, NR: 122, Name: "uname", CallName: "uname", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1}}}, }}, - {ID: 1441, NR: 10, Name: "unlink", CallName: "unlink", Args: []Type{ + {ID: 1443, NR: 10, Name: "unlink", CallName: "unlink", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1442, NR: 292, Name: "unlinkat", CallName: "unlinkat", Args: []Type{ + {ID: 1444, NR: 292, Name: "unlinkat", CallName: "unlinkat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "unlinkat_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 512}}, }}, - {ID: 1443, NR: 282, Name: "unshare", CallName: "unshare", Args: []Type{ + {ID: 1445, NR: 282, Name: "unshare", CallName: "unshare", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "clone_flags", FldName: "flags", TypeSize: 8}}, 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: 1444, NR: 86, Name: "uselib", CallName: "uselib", Args: []Type{ + {ID: 1446, NR: 86, Name: "uselib", CallName: "uselib", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "lib", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1445, NR: 364, Name: "userfaultfd", CallName: "userfaultfd", Args: []Type{ + {ID: 1447, NR: 364, Name: "userfaultfd", CallName: "userfaultfd", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "userfaultfd_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{2048, 524288}}, }, Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_uffd", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1446, NR: 62, Name: "ustat", CallName: "ustat", Args: []Type{ + {ID: 1448, NR: 62, Name: "ustat", CallName: "ustat", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "dev", TypeSize: 8}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "ustat", Dir: 1}}}, }}, - {ID: 1447, NR: 30, Name: "utime", CallName: "utime", Args: []Type{ + {ID: 1449, NR: 30, Name: "utime", CallName: "utime", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "filename", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "times", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "utimbuf"}}}, }}, - {ID: 1448, NR: 304, Name: "utimensat", CallName: "utimensat", Args: []Type{ + {ID: 1450, NR: 304, Name: "utimensat", CallName: "utimensat", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd_dir", FldName: "dir", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "pathname", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "times", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "itimerval"}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "utimensat_flags", FldName: "flags", TypeSize: 8}}, Vals: []uint64{0, 256}}, }}, - {ID: 1449, NR: 251, Name: "utimes", CallName: "utimes", Args: []Type{ + {ID: 1451, NR: 251, Name: "utimes", CallName: "utimes", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "filename", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "times", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "itimerval"}}}, }}, - {ID: 1450, NR: 285, Name: "vmsplice", CallName: "vmsplice", Args: []Type{ + {ID: 1452, NR: 285, Name: "vmsplice", CallName: "vmsplice", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "fd", FldName: "fd", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "vec", TypeSize: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", TypeSize: 8}}, Buf: "vec"}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "splice_flags", FldName: "f", TypeSize: 8}}, Vals: []uint64{1, 2, 4, 8}}, }}, - {ID: 1451, NR: 114, Name: "wait4", CallName: "wait4", Args: []Type{ + {ID: 1453, 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: 8, 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: 8}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}}, }}, - {ID: 1452, NR: 272, Name: "waitid", CallName: "waitid", Args: []Type{ + {ID: 1454, NR: 272, Name: "waitid", CallName: "waitid", Args: []Type{ &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "waitid_which", FldName: "which", TypeSize: 8}}, Vals: []uint64{1, 2, 0}}, &ResourceType{TypeCommon: TypeCommon{TypeName: "pid", FldName: "pid", TypeSize: 4}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "infop", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "siginfo", Dir: 1}}}, &FlagsType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "wait_options", FldName: "options", TypeSize: 8}}, Vals: []uint64{1, 2, 8, 4, 2, 8, 1, 16777216, 2147483648, 1073741824, 536870912}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "ru", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "rusage", Dir: 1}}}, }}, - {ID: 1453, NR: 4, Name: "write", CallName: "write", Args: []Type{ + {ID: 1455, 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: 8}, Type: &BufferType{}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 8}}, Buf: "buf"}, }}, - {ID: 1454, NR: 4, Name: "write$evdev", CallName: "write", Args: []Type{ + {ID: 1456, 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: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "input_event"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 1455, NR: 4, Name: "write$eventfd", CallName: "write", Args: []Type{ + {ID: 1457, 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: 8}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", TypeSize: 8}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "len", TypeSize: 8}}, Buf: "val"}, }}, - {ID: 1456, NR: 4, Name: "write$fuse", CallName: "write", Args: []Type{ + {ID: 1458, 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: 8}, Type: &StructType{Key: StructKey{Name: "fuse_out"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, ByteSize: 1, Buf: "arg"}, }}, - {ID: 1457, NR: 4, Name: "write$sndseq", CallName: "write", Args: []Type{ + {ID: 1459, 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: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "snd_seq_event"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "len", TypeSize: 8}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 1458, NR: 4, Name: "write$tun", CallName: "write", Args: []Type{ + {ID: 1460, 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: 8}, Type: &UnionType{Key: StructKey{Name: "tun_buffer"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "count", TypeSize: 8}}, Buf: "buf"}, }}, - {ID: 1459, NR: 146, Name: "writev", CallName: "writev", Args: []Type{ + {ID: 1461, 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: 8}, Type: &ArrayType{TypeCommon: TypeCommon{TypeName: "array"}, Type: &StructType{Key: StructKey{Name: "iovec_in"}}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "vlen", TypeSize: 8}}, Buf: "vec"}, @@ -16618,4 +16627,4 @@ var consts_ppc64le = []ConstValue{ {Name: "__WNOTHREAD", Value: 536870912}, } -const revision_ppc64le = "de9302d13dece6a300ef300704791e80176610eb" +const revision_ppc64le = "7181d499c27790d50391729214f690d6c6339313" |
