aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/ppc64le.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-11-28 16:25:45 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-11-28 19:15:28 +0100
commit1808de66ce1b8db0fc76b5b6398e3386ca2e7ad6 (patch)
tree5dfb75e113f3f1cbc04b59ffd0bee45de400f26a /sys/linux/ppc64le.go
parente338ada43ca8221b09fe8d2ae66c5d95f29611d6 (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.go103
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"