diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-12-13 19:18:07 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-12-17 11:39:14 +0100 |
| commit | 41799debdcc19d65fb6e0499cbbb74a489a822ea (patch) | |
| tree | 8b7107794ac883476fb0f79717e405cb58669c3e | |
| parent | 286edfb78e2e77c644b32d161e8e1b188406a5c5 (diff) | |
prog: introduce more readable format for data args
Fixes #460
File names, crypto algorithm names, etc in programs are completely unreadable:
bind$alg(r0, &(0x7f0000408000)={0x26, "6861736800000000000000000000",
0x0, 0x0, "6d6435000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000
00000000000"}, 0x58)
Introduce another format for printable strings.
New args are denoted by '' ("" for old args).
New format is enabled for printable chars, \x00
and \t, \r, \n.
Example:
`serialize(&(0x7f0000408000)={"6861736800000000000000000000", "4849000000"})`,
vs:
`serialize(&(0x7f0000408000)={'hash\x00', 'HI\x00'})`,
| -rw-r--r-- | executor/syscalls_test.h | 10 | ||||
| -rw-r--r-- | prog/encoding.go | 155 | ||||
| -rw-r--r-- | prog/encoding_test.go | 47 | ||||
| -rw-r--r-- | sys/test/32.go | 141 | ||||
| -rw-r--r-- | sys/test/64.go | 141 | ||||
| -rw-r--r-- | sys/test/test.txt | 11 |
6 files changed, 353 insertions, 152 deletions
diff --git a/executor/syscalls_test.h b/executor/syscalls_test.h index b5022fb1f..8b1e9a814 100644 --- a/executor/syscalls_test.h +++ b/executor/syscalls_test.h @@ -2,10 +2,10 @@ #if 0 #define GOARCH "32" -#define SYZ_REVISION "d250d71b6658517f5cde664a9f26c969ddb5c4d1" +#define SYZ_REVISION "ab5b2b746192f26c994482e664534cbf487e3dbe" #define __NR_syz_test 1000000 -unsigned syscall_count = 74; +unsigned syscall_count = 75; call_t syscalls[] = { {"mmap", 0, (syscall_t)mmap}, {"mutate0", 0, (syscall_t)mutate0}, @@ -15,6 +15,7 @@ call_t syscalls[] = { {"mutate4", 0, (syscall_t)mutate4}, {"mutate5", 0, (syscall_t)mutate5}, {"mutate6", 0, (syscall_t)mutate6}, + {"serialize", 0, (syscall_t)serialize}, {"syz_test", 1000000, (syscall_t)syz_test}, {"syz_test$align0", 1000000, (syscall_t)syz_test}, {"syz_test$align1", 1000000, (syscall_t)syz_test}, @@ -87,10 +88,10 @@ call_t syscalls[] = { #if 0 #define GOARCH "64" -#define SYZ_REVISION "42c3155912d115b719bd9a905c83c2419b5935f2" +#define SYZ_REVISION "1dd179fe95626e284e24e4e636195924bced24ef" #define __NR_syz_test 1000000 -unsigned syscall_count = 74; +unsigned syscall_count = 75; call_t syscalls[] = { {"mmap", 0, (syscall_t)mmap}, {"mutate0", 0, (syscall_t)mutate0}, @@ -100,6 +101,7 @@ call_t syscalls[] = { {"mutate4", 0, (syscall_t)mutate4}, {"mutate5", 0, (syscall_t)mutate5}, {"mutate6", 0, (syscall_t)mutate6}, + {"serialize", 0, (syscall_t)serialize}, {"syz_test", 1000000, (syscall_t)syz_test}, {"syz_test$align0", 1000000, (syscall_t)syz_test}, {"syz_test$align1", 1000000, (syscall_t)syz_test}, diff --git a/prog/encoding.go b/prog/encoding.go index 95e312662..4d8150959 100644 --- a/prog/encoding.go +++ b/prog/encoding.go @@ -8,7 +8,6 @@ import ( "bytes" "encoding/hex" "fmt" - "io" "strconv" ) @@ -54,7 +53,7 @@ func (p *Prog) Serialize() []byte { return buf.Bytes() } -func serialize(arg Arg, buf io.Writer, vars map[Arg]int, varSeq *int) { +func serialize(arg Arg, buf *bytes.Buffer, vars map[Arg]int, varSeq *int) { if arg == nil { fmt.Fprintf(buf, "nil") return @@ -75,7 +74,15 @@ func serialize(arg Arg, buf io.Writer, vars map[Arg]int, varSeq *int) { fmt.Fprintf(buf, "&%v=", serializeAddr(arg)) serialize(a.Res, buf, vars, varSeq) case *DataArg: - fmt.Fprintf(buf, "\"%v\"", hex.EncodeToString(a.Data)) + data := a.Data + if !arg.Type().Varlen() { + // Statically typed data will be padded with 0s during + // deserialization, so we can strip them here for readability. + for len(data) >= 2 && data[len(data)-1] == 0 && data[len(data)-2] == 0 { + data = data[:len(data)-1] + } + } + serializeData(buf, data) case *GroupArg: var delims []byte switch arg.Type().(type) { @@ -125,8 +132,7 @@ func (target *Target) Deserialize(data []byte) (prog *Prog, err error) { prog = &Prog{ Target: target, } - p := &parser{r: bufio.NewScanner(bytes.NewReader(data))} - p.r.Buffer(nil, maxLineLen) + p := newParser(data) vars := make(map[string]Arg) for p.Scan() { if p.EOF() || p.Char() == '#' { @@ -276,16 +282,10 @@ func (target *Target) parseArg(typ Type, p *parser, vars map[string]Arg) (Arg, e return nil, err } arg = MakeConstArg(typ, pages*target.PageSize) - case '"': - p.Parse('"') - val := "" - if p.Char() != '"' { - val = p.Ident() - } - p.Parse('"') - data, err := hex.DecodeString(val) + case '"', '\'': + data, err := deserializeData(p) if err != nil { - return nil, fmt.Errorf("data arg has bad value '%v'", val) + return nil, err } if !typ.Varlen() { if diff := int(typ.Size()) - len(data); diff > 0 { @@ -475,6 +475,114 @@ func parseAddr(p *parser, base bool) (uint64, int, uint64, error) { return page, int(off), size, nil } +func serializeData(buf *bytes.Buffer, data []byte) { + readable := true + for _, v := range data { + if v >= 0x20 && v < 0x7f { + continue + } + switch v { + case 0, '\a', '\b', '\f', '\n', '\r', '\t', '\v': + continue + } + readable = false + break + } + if !readable || len(data) == 0 { + fmt.Fprintf(buf, "\"%v\"", hex.EncodeToString(data)) + return + } + buf.WriteByte('\'') + for _, v := range data { + switch v { + case 0: + buf.Write([]byte{'\\', 'x', '0', '0'}) + case '\a': + buf.Write([]byte{'\\', 'a'}) + case '\b': + buf.Write([]byte{'\\', 'b'}) + case '\f': + buf.Write([]byte{'\\', 'f'}) + case '\n': + buf.Write([]byte{'\\', 'n'}) + case '\r': + buf.Write([]byte{'\\', 'r'}) + case '\t': + buf.Write([]byte{'\\', 't'}) + case '\v': + buf.Write([]byte{'\\', 'v'}) + case '\'': + buf.Write([]byte{'\\', '\''}) + case '\\': + buf.Write([]byte{'\\', '\\'}) + default: + buf.WriteByte(v) + } + } + buf.WriteByte('\'') +} + +func deserializeData(p *parser) ([]byte, error) { + var data []byte + if p.Char() == '"' { + p.Parse('"') + val := "" + if p.Char() != '"' { + val = p.Ident() + } + p.Parse('"') + var err error + data, err = hex.DecodeString(val) + if err != nil { + return nil, fmt.Errorf("data arg has bad value %q", val) + } + } else { + if p.consume() != '\'' { + return nil, fmt.Errorf("data arg does not start with \" nor with '") + } + for p.Char() != '\'' && p.Char() != 0 { + v := p.consume() + if v != '\\' { + data = append(data, v) + continue + } + v = p.consume() + switch v { + case 'x': + hi := p.consume() + lo := p.consume() + if lo != '0' || hi != '0' { + return nil, fmt.Errorf( + "invalid \\x%c%c escape sequence in data arg", hi, lo) + } + data = append(data, 0) + case 'a': + data = append(data, '\a') + case 'b': + data = append(data, '\b') + case 'f': + data = append(data, '\f') + case 'n': + data = append(data, '\n') + case 'r': + data = append(data, '\r') + case 't': + data = append(data, '\t') + case 'v': + data = append(data, '\v') + case '\'': + data = append(data, '\'') + case '\\': + data = append(data, '\\') + default: + return nil, fmt.Errorf("invalid \\%c escape sequence in data arg", v) + } + } + p.Parse('\'') + } + return data, nil +} + type parser struct { r *bufio.Scanner s string @@ -483,6 +591,12 @@ type parser struct { e error } +func newParser(data []byte) *parser { + p := &parser{r: bufio.NewScanner(bytes.NewReader(data))} + p.r.Buffer(nil, maxLineLen) + return p +} + func (p *parser) Scan() bool { if p.e != nil { return false @@ -536,6 +650,19 @@ func (p *parser) Parse(ch byte) { p.SkipWs() } +func (p *parser) consume() byte { + if p.e != nil { + return 0 + } + if p.EOF() { + p.failf("unexpected eof") + return 0 + } + v := p.s[p.i] + p.i++ + return v +} + func (p *parser) SkipWs() { for p.i < len(p.s) && (p.s[p.i] == ' ' || p.s[p.i] == '\t') { p.i++ diff --git a/prog/encoding_test.go b/prog/encoding_test.go index a46428526..39063a055 100644 --- a/prog/encoding_test.go +++ b/prog/encoding_test.go @@ -4,7 +4,9 @@ package prog import ( + "bytes" "fmt" + "math/rand" "reflect" "regexp" "sort" @@ -20,6 +22,30 @@ func setToArray(s map[string]struct{}) []string { return a } +func TestSerializeData(t *testing.T) { + t.Parallel() + r := rand.New(rand.NewSource(0)) + for i := 0; i < 1e4; i++ { + data := make([]byte, r.Intn(4)) + for i := range data { + data[i] = byte(r.Intn(256)) + } + buf := new(bytes.Buffer) + serializeData(buf, data) + p := newParser(buf.Bytes()) + if !p.Scan() { + t.Fatalf("parser does not scan") + } + data1, err := deserializeData(p) + if err != nil { + t.Fatalf("failed to deserialize %q -> %s: %v", data, buf.Bytes(), err) + } + if !bytes.Equal(data, data1) { + t.Fatalf("corrupted data %q -> %s -> %q", data, buf.Bytes(), data1) + } + } +} + func TestCallSet(t *testing.T) { tests := []struct { prog string @@ -137,3 +163,24 @@ func TestDeserialize(t *testing.T) { } } } + +func TestSerializeDeserialize(t *testing.T) { + target := initTargetTest(t, "test", "64") + tests := [][2]string{ + { + `serialize(&(0x7f0000408000)={"6861736800000000000000000000", "4849000000"})`, + `serialize(&(0x7f0000408000)={'hash\x00', 'HI\x00'})`, + }, + } + for _, test := range tests { + p, err := target.Deserialize([]byte(test[0])) + if err != nil { + t.Fatal(err) + } + data := p.Serialize() + test[1] += "\n" + if string(data) != test[1] { + t.Fatalf("\ngot : %s\nwant: %s", data, test[1]) + } + } +} diff --git a/sys/test/32.go b/sys/test/32.go index e09aaf9f2..3431929d0 100644 --- a/sys/test/32.go +++ b/sys/test/32.go @@ -14,6 +14,10 @@ var resources_32 = []*ResourceDesc{ } var structDescs_32 = []*KeyedStruct{ + {Key: StructKey{Name: "serialize_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize_struct", TypeSize: 15}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "a", TypeSize: 10}, Kind: 2, SubKind: "serialize_strings", Values: []string{"aaa\x00\x00\x00\x00\x00\x00\x00", "bbb\x00\x00\x00\x00\x00\x00\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "b", TypeSize: 5}, Kind: 2, SubKind: "serialize_strings", Values: []string{"aaa\x00\x00", "bbb\x00\x00"}}, + }}}, {Key: StructKey{Name: "syz_align0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_align0", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "f0", TypeSize: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, @@ -400,213 +404,216 @@ var syscalls_32 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "size", TypeSize: 4}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 8, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, - {ID: 9, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ + {ID: 8, Name: "serialize", CallName: "serialize", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "serialize_struct"}}}, + }}, + {ID: 9, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, + {ID: 10, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align0"}}}, }}, - {ID: 10, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ + {ID: 11, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align1"}}}, }}, - {ID: 11, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ + {ID: 12, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align2"}}}, }}, - {ID: 12, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ + {ID: 13, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align3"}}}, }}, - {ID: 13, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ + {ID: 14, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align4"}}}, }}, - {ID: 14, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ + {ID: 15, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align5"}}}, }}, - {ID: 15, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ + {ID: 16, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_align6"}}}, }}, - {ID: 16, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ + {ID: 17, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_array_struct"}}}, }}, - {ID: 17, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ + {ID: 18, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_array_trailing"}}}, }}, - {ID: 18, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ + {ID: 19, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_array_blob"}}}, }}, - {ID: 19, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ + {ID: 20, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_bf_struct0"}}}, }}, - {ID: 20, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ + {ID: 21, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_bf_struct1"}}}, }}, - {ID: 21, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ + {ID: 22, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_encode"}}}, }}, - {ID: 22, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ + {ID: 23, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_header"}}}, }}, - {ID: 23, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ + {ID: 24, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_tcp_packet"}}}, }}, - {ID: 24, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ + {ID: 25, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_udp_packet"}}}, }}, - {ID: 25, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ + {ID: 26, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_icmp_packet"}}}, }}, - {ID: 26, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ + {ID: 27, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_tcp_packet"}}}, }}, - {ID: 27, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ + {ID: 28, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_udp_packet"}}}, }}, - {ID: 28, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ + {ID: 29, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_end_int_struct"}}}, }}, - {ID: 29, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ + {ID: 30, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_end_var_struct"}}}, }}, - {ID: 30, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ + {ID: 31, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}}, }}, - {ID: 31, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ + {ID: 32, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "a0", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "a1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "a2", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "a3", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "a4", TypeSize: 8}}}, }}, - {ID: 32, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ + {ID: 33, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_int_struct"}}}, }}, - {ID: 33, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ + {ID: 34, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_const_struct"}}}, }}, - {ID: 34, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ + {ID: 35, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 4}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "a2", TypeSize: 4}}, ByteSize: 1, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize2", FldName: "a3", TypeSize: 4}}, ByteSize: 2, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "a4", TypeSize: 4}}, ByteSize: 4, Buf: "a0"}, }}, - {ID: 35, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ + {ID: 36, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 36, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ + {ID: 37, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 37, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ + {ID: 38, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct", Dir: 2}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 4}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 8, ArgDir: 2}}, Buf: "a0"}}, }}, - {ID: 38, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ + {ID: 39, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct", Dir: 2}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 4, IsOptional: true}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 8, ArgDir: 2}}, Buf: "a0"}}, }}, - {ID: 39, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ + {ID: 40, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "a0", TypeSize: 2}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 4}}, Buf: "a0"}, }}, - {ID: 40, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ + {ID: 41, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize_struct"}}}, }}, - {ID: 41, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ + {ID: 42, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize2_struct"}}}, }}, - {ID: 42, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ + {ID: 43, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize3_struct"}}}, }}, - {ID: 43, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ + {ID: 44, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_bf_struct"}}}, }}, - {ID: 44, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ + {ID: 45, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_flags_struct"}}}, }}, - {ID: 45, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ + {ID: 46, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_parent2_struct"}}}, }}, - {ID: 46, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ + {ID: 47, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_len_struct"}}}, }}, - {ID: 47, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ + {ID: 48, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_len2_struct"}}}, }}, - {ID: 48, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ + {ID: 49, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_parent_struct"}}}, }}, - {ID: 49, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ + {ID: 50, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_array_struct"}}}, }}, - {ID: 50, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ + {ID: 51, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_array2_struct"}}}, }}, - {ID: 51, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ + {ID: 52, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_complex_struct"}}}, }}, - {ID: 52, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ + {ID: 53, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_length_vma_struct"}}}, }}, - {ID: 53, NR: 1000000, Name: "syz_test$missing_resource", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_missing_const_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 54, NR: 1000000, Name: "syz_test$opt0", CallName: "syz_test", Args: []Type{ + {ID: 54, NR: 1000000, Name: "syz_test$missing_resource", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_missing_const_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 55, NR: 1000000, Name: "syz_test$opt0", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "a0", TypeSize: 4, IsOptional: true}}}, }}, - {ID: 55, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ + {ID: 56, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 4}}}}, }}, - {ID: 56, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ + {ID: 57, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 4, IsOptional: true}}, }}, - {ID: 57, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ + {ID: 58, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_recur_0", Dir: 2}}}, }}, - {ID: 58, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ + {ID: 59, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_recur_1", Dir: 2}}}, }}, - {ID: 59, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ + {ID: 60, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "syz_recur_2", Dir: 2}}}, }}, - {ID: 60, NR: 1000000, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ + {ID: 61, NR: 1000000, 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: 61, NR: 1000000, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + {ID: 62, NR: 1000000, 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: 62, NR: 1000000, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + {ID: 63, NR: 1000000, 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: 63, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 64, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ + {ID: 64, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 65, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 65, NR: 1000000, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 66, NR: 1000000, 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: 66, NR: 1000000, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 67, NR: 1000000, 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: 67, NR: 1000000, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 68, NR: 1000000, 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: 68, NR: 1000000, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 69, NR: 1000000, 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: 69, NR: 1000000, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 70, NR: 1000000, 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: 70, NR: 1000000, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 71, NR: 1000000, 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: 71, NR: 1000000, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 72, NR: 1000000, 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: 72, NR: 1000000, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 73, NR: 1000000, 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: 73, NR: 1000000, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 74, NR: 1000000, 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}, @@ -623,4 +630,4 @@ var consts_32 = []ConstValue{ {Name: "ONLY_32BITS_CONST", Value: 1}, } -const revision_32 = "d250d71b6658517f5cde664a9f26c969ddb5c4d1" +const revision_32 = "ab5b2b746192f26c994482e664534cbf487e3dbe" diff --git a/sys/test/64.go b/sys/test/64.go index 79286efc0..8618c6b91 100644 --- a/sys/test/64.go +++ b/sys/test/64.go @@ -14,6 +14,10 @@ var resources_64 = []*ResourceDesc{ } var structDescs_64 = []*KeyedStruct{ + {Key: StructKey{Name: "serialize_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize_struct", TypeSize: 15}, Fields: []Type{ + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "a", TypeSize: 10}, Kind: 2, SubKind: "serialize_strings", Values: []string{"aaa\x00\x00\x00\x00\x00\x00\x00", "bbb\x00\x00\x00\x00\x00\x00\x00"}}, + &BufferType{TypeCommon: TypeCommon{TypeName: "string", FldName: "b", TypeSize: 5}, Kind: 2, SubKind: "serialize_strings", Values: []string{"aaa\x00\x00", "bbb\x00\x00"}}, + }}}, {Key: StructKey{Name: "syz_align0"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "syz_align0", TypeSize: 24}, Fields: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "f0", TypeSize: 2}}}, &ConstType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "pad", TypeSize: 2}}, IsPad: true}, @@ -399,213 +403,216 @@ var syscalls_64 = []*Syscall{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "data", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "size", TypeSize: 8}}, ByteSize: 1, Buf: "data"}, }}, - {ID: 8, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, - {ID: 9, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ + {ID: 8, Name: "serialize", CallName: "serialize", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "serialize_struct"}}}, + }}, + {ID: 9, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, + {ID: 10, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align0"}}}, }}, - {ID: 10, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ + {ID: 11, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align1"}}}, }}, - {ID: 11, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ + {ID: 12, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align2"}}}, }}, - {ID: 12, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ + {ID: 13, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align3"}}}, }}, - {ID: 13, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ + {ID: 14, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align4"}}}, }}, - {ID: 14, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ + {ID: 15, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align5"}}}, }}, - {ID: 15, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ + {ID: 16, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_align6"}}}, }}, - {ID: 16, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ + {ID: 17, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_array_struct"}}}, }}, - {ID: 17, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ + {ID: 18, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_array_trailing"}}}, }}, - {ID: 18, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ + {ID: 19, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_array_blob"}}}, }}, - {ID: 19, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ + {ID: 20, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_bf_struct0"}}}, }}, - {ID: 20, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ + {ID: 21, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_bf_struct1"}}}, }}, - {ID: 21, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ + {ID: 22, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_encode"}}}, }}, - {ID: 22, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ + {ID: 23, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_header"}}}, }}, - {ID: 23, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ + {ID: 24, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_tcp_packet"}}}, }}, - {ID: 24, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ + {ID: 25, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv4_udp_packet"}}}, }}, - {ID: 25, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ + {ID: 26, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_icmp_packet"}}}, }}, - {ID: 26, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ + {ID: 27, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_tcp_packet"}}}, }}, - {ID: 27, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ + {ID: 28, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_csum_ipv6_udp_packet"}}}, }}, - {ID: 28, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ + {ID: 29, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_end_int_struct"}}}, }}, - {ID: 29, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ + {ID: 30, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_end_var_struct"}}}, }}, - {ID: 30, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ + {ID: 31, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array"}}}, }}, - {ID: 31, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ + {ID: 32, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "a0", TypeSize: 8}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int8", FldName: "a1", TypeSize: 1}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "a2", TypeSize: 2}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int32", FldName: "a3", TypeSize: 4}}}, &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int64", FldName: "a4", TypeSize: 8}}}, }}, - {ID: 32, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ + {ID: 33, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_int_struct"}}}, }}, - {ID: 33, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ + {ID: 34, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_const_struct"}}}, }}, - {ID: 34, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ + {ID: 35, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 8}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize", FldName: "a2", TypeSize: 8}}, ByteSize: 1, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize2", FldName: "a3", TypeSize: 8}}, ByteSize: 2, Buf: "a0"}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "bytesize4", FldName: "a4", TypeSize: 8}}, ByteSize: 4, Buf: "a0"}, }}, - {ID: 35, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ + {ID: 36, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 36, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ + {ID: 37, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8, IsOptional: true}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct"}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 37, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ + {ID: 38, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct", Dir: 2}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 8}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 8, ArgDir: 2}}, Buf: "a0"}}, }}, - {ID: 38, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ + {ID: 39, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_large_struct", Dir: 2}}}, &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a1", TypeSize: 8, IsOptional: true}, Type: &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", TypeSize: 8, ArgDir: 2}}, Buf: "a0"}}, }}, - {ID: 39, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ + {ID: 40, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "int16", FldName: "a0", TypeSize: 2}}}, &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "a1", TypeSize: 8}}, Buf: "a0"}, }}, - {ID: 40, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ + {ID: 41, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize_struct"}}}, }}, - {ID: 41, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ + {ID: 42, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize2_struct"}}}, }}, - {ID: 42, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ + {ID: 43, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_bytesize3_struct"}}}, }}, - {ID: 43, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ + {ID: 44, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_bf_struct"}}}, }}, - {ID: 44, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ + {ID: 45, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_flags_struct"}}}, }}, - {ID: 45, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ + {ID: 46, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_parent2_struct"}}}, }}, - {ID: 46, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ + {ID: 47, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_len_struct"}}}, }}, - {ID: 47, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ + {ID: 48, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_len2_struct"}}}, }}, - {ID: 48, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ + {ID: 49, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_parent_struct"}}}, }}, - {ID: 49, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ + {ID: 50, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_array_struct"}}}, }}, - {ID: 50, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ + {ID: 51, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_array2_struct"}}}, }}, - {ID: 51, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ + {ID: 52, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_complex_struct"}}}, }}, - {ID: 52, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ + {ID: 53, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_length_vma_struct"}}}, }}, - {ID: 53, NR: 1000000, Name: "syz_test$missing_resource", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_missing_const_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 54, NR: 1000000, Name: "syz_test$opt0", CallName: "syz_test", Args: []Type{ + {ID: 54, NR: 1000000, Name: "syz_test$missing_resource", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_missing_const_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 55, NR: 1000000, Name: "syz_test$opt0", CallName: "syz_test", Args: []Type{ &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", FldName: "a0", TypeSize: 8, IsOptional: true}}}, }}, - {ID: 55, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ + {ID: 56, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8, IsOptional: true}, Type: &IntType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "intptr", TypeSize: 8}}}}, }}, - {ID: 56, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ + {ID: 57, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 8, IsOptional: true}}, }}, - {ID: 57, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ + {ID: 58, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_recur_0", Dir: 2}}}, }}, - {ID: 58, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ + {ID: 59, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_recur_1", Dir: 2}}}, }}, - {ID: 59, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ + {ID: 60, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a0", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "syz_recur_2", Dir: 2}}}, }}, - {ID: 60, NR: 1000000, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ + {ID: 61, NR: 1000000, 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: 61, NR: 1000000, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + {ID: 62, NR: 1000000, 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: 62, NR: 1000000, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + {ID: 63, NR: 1000000, 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: 63, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, - {ID: 64, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ + {ID: 64, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 65, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 65, NR: 1000000, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 66, NR: 1000000, 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: 66, NR: 1000000, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 67, NR: 1000000, 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: 67, NR: 1000000, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 68, NR: 1000000, 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: 68, NR: 1000000, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 69, NR: 1000000, 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: 69, NR: 1000000, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 70, NR: 1000000, 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: 70, NR: 1000000, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 71, NR: 1000000, 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: 71, NR: 1000000, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 72, NR: 1000000, 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: 72, NR: 1000000, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 73, NR: 1000000, 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: 73, NR: 1000000, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 74, NR: 1000000, 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}, @@ -621,4 +628,4 @@ var consts_64 = []ConstValue{ {Name: "IPPROTO_UDP", Value: 17}, } -const revision_64 = "42c3155912d115b719bd9a905c83c2419b5935f2" +const revision_64 = "1dd179fe95626e284e24e4e636195924bced24ef" diff --git a/sys/test/test.txt b/sys/test/test.txt index 561de0db8..69f987a16 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -555,3 +555,14 @@ mutate5(filename ptr[in, filename], flags flags[open_flags]) fd mutate6(fd fd, data ptr[in, array[int8]], size bytesize[data]) open_flags = 0xabababababababab, 0xcdcdcdcdcdcdcdcd + +# Serialization tests. + +serialize(a ptr[in, serialize_struct]) + +serialize_struct { + a string[serialize_strings, 10] + b string[serialize_strings, 5] +} + +serialize_strings = "aaa", "bbb" |
