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/amd64.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/amd64.go')
| -rw-r--r-- | sys/linux/amd64.go | 103 |
1 files changed, 56 insertions, 47 deletions
diff --git a/sys/linux/amd64.go b/sys/linux/amd64.go index ba9b4939e..31db41cc2 100644 --- a/sys/linux/amd64.go +++ b/sys/linux/amd64.go @@ -5383,6 +5383,9 @@ var structDescs_amd64 = []*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"}, @@ -14257,39 +14260,45 @@ var syscalls_amd64 = []*Syscall{ {ID: 1504, 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: 1505, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 1506, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ + {ID: 1505, 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: 1506, 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: 1507, NR: 1000008, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 1508, NR: 1000008, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 1507, NR: 1000008, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 1509, 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: 1508, NR: 1000008, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 1510, 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: 1509, NR: 1000008, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 1511, 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: 1510, NR: 1000008, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 1512, 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: 1511, NR: 1000008, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 1513, 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: 1512, NR: 1000008, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 1514, 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: 1513, NR: 1000008, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 1515, 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: 1514, NR: 1000008, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 1516, 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: 1515, NR: 1000008, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 1517, 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}, @@ -14297,158 +14306,158 @@ var syscalls_amd64 = []*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: 1516, NR: 276, Name: "tee", CallName: "tee", Args: []Type{ + {ID: 1518, NR: 276, 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: 1517, NR: 234, Name: "tgkill", CallName: "tgkill", Args: []Type{ + {ID: 1519, NR: 234, 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: 1518, NR: 201, Name: "time", CallName: "time", Args: []Type{ + {ID: 1520, NR: 201, 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: 1519, NR: 222, Name: "timer_create", CallName: "timer_create", Args: []Type{ + {ID: 1521, NR: 222, 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: 1520, NR: 226, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ + {ID: 1522, NR: 226, Name: "timer_delete", CallName: "timer_delete", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1521, NR: 225, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ + {ID: 1523, NR: 225, Name: "timer_getoverrun", CallName: "timer_getoverrun", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "timerid", FldName: "timerid", TypeSize: 4}}, }}, - {ID: 1522, NR: 224, Name: "timer_gettime", CallName: "timer_gettime", Args: []Type{ + {ID: 1524, NR: 224, 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: 1523, NR: 223, Name: "timer_settime", CallName: "timer_settime", Args: []Type{ + {ID: 1525, NR: 223, 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: 1524, NR: 283, Name: "timerfd_create", CallName: "timerfd_create", Args: []Type{ + {ID: 1526, NR: 283, 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: 1525, NR: 287, Name: "timerfd_gettime", CallName: "timerfd_gettime", Args: []Type{ + {ID: 1527, NR: 287, 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: 1526, NR: 286, Name: "timerfd_settime", CallName: "timerfd_settime", Args: []Type{ + {ID: 1528, NR: 286, 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: 1527, NR: 100, Name: "times", CallName: "times", Args: []Type{ + {ID: 1529, NR: 100, Name: "times", CallName: "times", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "buf", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "tms", Dir: 1}}}, }}, - {ID: 1528, NR: 200, Name: "tkill", CallName: "tkill", Args: []Type{ + {ID: 1530, NR: 200, 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: 1529, NR: 76, Name: "truncate", CallName: "truncate", Args: []Type{ + {ID: 1531, NR: 76, 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: 1530, NR: 166, Name: "umount2", CallName: "umount2", Args: []Type{ + {ID: 1532, NR: 166, 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: 1531, NR: 63, Name: "uname", CallName: "uname", Args: []Type{ + {ID: 1533, NR: 63, Name: "uname", CallName: "uname", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "buffer", FldName: "buf", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{ArgDir: 1}}}, }}, - {ID: 1532, NR: 87, Name: "unlink", CallName: "unlink", Args: []Type{ + {ID: 1534, NR: 87, Name: "unlink", CallName: "unlink", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "path", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1533, NR: 263, Name: "unlinkat", CallName: "unlinkat", Args: []Type{ + {ID: 1535, NR: 263, 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: 1534, NR: 272, Name: "unshare", CallName: "unshare", Args: []Type{ + {ID: 1536, NR: 272, 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: 1535, NR: 134, Name: "uselib", CallName: "uselib", Args: []Type{ + {ID: 1537, NR: 134, Name: "uselib", CallName: "uselib", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "lib", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "filename"}, Kind: 3}}, }}, - {ID: 1536, NR: 323, Name: "userfaultfd", CallName: "userfaultfd", Args: []Type{ + {ID: 1538, NR: 323, 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: 1537, NR: 136, Name: "ustat", CallName: "ustat", Args: []Type{ + {ID: 1539, NR: 136, 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: 1538, NR: 132, Name: "utime", CallName: "utime", Args: []Type{ + {ID: 1540, NR: 132, 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: 1539, NR: 280, Name: "utimensat", CallName: "utimensat", Args: []Type{ + {ID: 1541, NR: 280, 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: 1540, NR: 235, Name: "utimes", CallName: "utimes", Args: []Type{ + {ID: 1542, NR: 235, 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: 1541, NR: 278, Name: "vmsplice", CallName: "vmsplice", Args: []Type{ + {ID: 1543, NR: 278, 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: 1542, NR: 61, Name: "wait4", CallName: "wait4", Args: []Type{ + {ID: 1544, NR: 61, 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: 1543, NR: 247, Name: "waitid", CallName: "waitid", Args: []Type{ + {ID: 1545, NR: 247, 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: 1544, NR: 1, Name: "write", CallName: "write", Args: []Type{ + {ID: 1546, NR: 1, 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: 1545, NR: 1, Name: "write$evdev", CallName: "write", Args: []Type{ + {ID: 1547, NR: 1, 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: 1546, NR: 1, Name: "write$eventfd", CallName: "write", Args: []Type{ + {ID: 1548, NR: 1, 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: 1547, NR: 1, Name: "write$fuse", CallName: "write", Args: []Type{ + {ID: 1549, NR: 1, 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: 1548, NR: 1, Name: "write$sndseq", CallName: "write", Args: []Type{ + {ID: 1550, NR: 1, 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: 1549, NR: 1, Name: "write$tun", CallName: "write", Args: []Type{ + {ID: 1551, NR: 1, 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: 1550, NR: 20, Name: "writev", CallName: "writev", Args: []Type{ + {ID: 1552, NR: 20, 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"}, @@ -17551,4 +17560,4 @@ var consts_amd64 = []ConstValue{ {Name: "__WNOTHREAD", Value: 536870912}, } -const revision_amd64 = "44a617dd53e5c99fdec4cae657e0b3cf03cd022b" +const revision_amd64 = "3c393f727fed32893cfa9465a4c114d2845d98f8" |
