diff options
| -rw-r--r-- | executor/syscalls_test.h | 14 | ||||
| -rw-r--r-- | prog/analysis.go | 6 | ||||
| -rw-r--r-- | prog/clone.go | 2 | ||||
| -rw-r--r-- | prog/encoding.go | 40 | ||||
| -rw-r--r-- | prog/encoding_test.go | 8 | ||||
| -rw-r--r-- | prog/encodingexec.go | 12 | ||||
| -rw-r--r-- | prog/hints.go | 20 | ||||
| -rw-r--r-- | prog/hints_test.go | 36 | ||||
| -rw-r--r-- | prog/mutation.go | 26 | ||||
| -rw-r--r-- | prog/prog.go | 40 | ||||
| -rw-r--r-- | prog/rand.go | 28 | ||||
| -rw-r--r-- | prog/validation.go | 16 | ||||
| -rw-r--r-- | sys/test/32.go | 144 | ||||
| -rw-r--r-- | sys/test/64.go | 144 | ||||
| -rw-r--r-- | sys/test/test.txt | 5 |
15 files changed, 307 insertions, 234 deletions
diff --git a/executor/syscalls_test.h b/executor/syscalls_test.h index 8b1e9a814..eb4bf6d76 100644 --- a/executor/syscalls_test.h +++ b/executor/syscalls_test.h @@ -2,10 +2,10 @@ #if 0 #define GOARCH "32" -#define SYZ_REVISION "ab5b2b746192f26c994482e664534cbf487e3dbe" +#define SYZ_REVISION "79ae2d829892c1b024cfea6076725a13e0ada442" #define __NR_syz_test 1000000 -unsigned syscall_count = 75; +unsigned syscall_count = 76; call_t syscalls[] = { {"mmap", 0, (syscall_t)mmap}, {"mutate0", 0, (syscall_t)mutate0}, @@ -15,7 +15,8 @@ call_t syscalls[] = { {"mutate4", 0, (syscall_t)mutate4}, {"mutate5", 0, (syscall_t)mutate5}, {"mutate6", 0, (syscall_t)mutate6}, - {"serialize", 0, (syscall_t)serialize}, + {"serialize0", 0, (syscall_t)serialize0}, + {"serialize1", 0, (syscall_t)serialize1}, {"syz_test", 1000000, (syscall_t)syz_test}, {"syz_test$align0", 1000000, (syscall_t)syz_test}, {"syz_test$align1", 1000000, (syscall_t)syz_test}, @@ -88,10 +89,10 @@ call_t syscalls[] = { #if 0 #define GOARCH "64" -#define SYZ_REVISION "1dd179fe95626e284e24e4e636195924bced24ef" +#define SYZ_REVISION "b1c83c04183eb27b5158df59d58c510efb35257d" #define __NR_syz_test 1000000 -unsigned syscall_count = 75; +unsigned syscall_count = 76; call_t syscalls[] = { {"mmap", 0, (syscall_t)mmap}, {"mutate0", 0, (syscall_t)mutate0}, @@ -101,7 +102,8 @@ call_t syscalls[] = { {"mutate4", 0, (syscall_t)mutate4}, {"mutate5", 0, (syscall_t)mutate5}, {"mutate6", 0, (syscall_t)mutate6}, - {"serialize", 0, (syscall_t)serialize}, + {"serialize0", 0, (syscall_t)serialize0}, + {"serialize1", 0, (syscall_t)serialize1}, {"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/analysis.go b/prog/analysis.go index 80a127108..fcb00350b 100644 --- a/prog/analysis.go +++ b/prog/analysis.go @@ -58,12 +58,12 @@ func (s *state) analyze(c *Call) { } case *BufferType: a := arg.(*DataArg) - if typ.Dir() != DirOut && len(a.Data) != 0 { + if typ.Dir() != DirOut && len(a.Data()) != 0 { switch typ.Kind { case BufferString: - s.strings[string(a.Data)] = true + s.strings[string(a.Data())] = true case BufferFilename: - s.files[string(a.Data)] = true + s.files[string(a.Data())] = true } } } diff --git a/prog/clone.go b/prog/clone.go index 1ff42f60f..bdb9b5074 100644 --- a/prog/clone.go +++ b/prog/clone.go @@ -44,7 +44,7 @@ func clone(arg Arg, newargs map[Arg]Arg) Arg { case *DataArg: a1 := new(DataArg) *a1 = *a - a1.Data = append([]byte{}, a.Data...) + a1.data = append([]byte{}, a.data...) arg1 = a1 case *GroupArg: a1 := new(GroupArg) diff --git a/prog/encoding.go b/prog/encoding.go index 4d8150959..2b7999efc 100644 --- a/prog/encoding.go +++ b/prog/encoding.go @@ -74,15 +74,19 @@ func serialize(arg Arg, buf *bytes.Buffer, vars map[Arg]int, varSeq *int) { fmt.Fprintf(buf, "&%v=", serializeAddr(arg)) serialize(a.Res, buf, vars, varSeq) case *DataArg: - 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] + if a.Type().Dir() == DirOut { + fmt.Fprintf(buf, "\"\"/%v", a.Size()) + } else { + 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) } - serializeData(buf, data) case *GroupArg: var delims []byte switch arg.Type().(type) { @@ -287,13 +291,29 @@ func (target *Target) parseArg(typ Type, p *parser, vars map[string]Arg) (Arg, e if err != nil { return nil, err } + size := ^uint64(0) + if p.Char() == '/' { + p.Parse('/') + sizeStr := p.Ident() + size, err = strconv.ParseUint(sizeStr, 0, 64) + if err != nil { + return nil, fmt.Errorf("failed to parse buffer size: %q", sizeStr) + } + } if !typ.Varlen() { - if diff := int(typ.Size()) - len(data); diff > 0 { + size = typ.Size() + } else if size == ^uint64(0) { + size = uint64(len(data)) + } + if typ.Dir() == DirOut { + arg = MakeOutDataArg(typ, size) + } else { + if diff := int(size) - len(data); diff > 0 { data = append(data, make([]byte, diff)...) } - data = data[:typ.Size()] + data = data[:size] + arg = MakeDataArg(typ, data) } - arg = MakeDataArg(typ, data) case '{': t1, ok := typ.(*StructType) if !ok { diff --git a/prog/encoding_test.go b/prog/encoding_test.go index 39063a055..5fce30142 100644 --- a/prog/encoding_test.go +++ b/prog/encoding_test.go @@ -168,8 +168,12 @@ func TestSerializeDeserialize(t *testing.T) { target := initTargetTest(t, "test", "64") tests := [][2]string{ { - `serialize(&(0x7f0000408000)={"6861736800000000000000000000", "4849000000"})`, - `serialize(&(0x7f0000408000)={'hash\x00', 'HI\x00'})`, + `serialize0(&(0x7f0000408000)={"6861736800000000000000000000", "4849000000"})`, + `serialize0(&(0x7f0000408000)={'hash\x00', 'HI\x00'})`, + }, + { + `serialize1(&(0x7f0000000000)="0000000000000000", 0x8)`, + `serialize1(&(0x7f0000000000)=""/8, 0x8)`, }, } for _, test := range tests { diff --git a/prog/encodingexec.go b/prog/encodingexec.go index e45ba1192..937f3c322 100644 --- a/prog/encodingexec.go +++ b/prog/encodingexec.go @@ -104,7 +104,8 @@ func (p *Prog) SerializeForExec(buffer []byte, pid int) (int, error) { if _, ok := arg1.(*UnionArg); ok { return } - if a1, ok := arg1.(*DataArg); ok && len(a1.Data) == 0 { + if a1, ok := arg1.(*DataArg); ok && + (a1.Type().Dir() == DirOut || len(a1.Data()) == 0) { return } if !IsPad(arg1.Type()) && arg1.Type().Dir() != DirOut { @@ -270,16 +271,17 @@ func (w *execContext) writeArg(arg Arg, pid int, csumMap map[Arg]CsumInfo) { w.write(0) // bit field offset w.write(0) // bit field length case *DataArg: + data := a.Data() w.write(ExecArgData) - w.write(uint64(len(a.Data))) - padded := len(a.Data) - if pad := 8 - len(a.Data)%8; pad != 8 { + w.write(uint64(len(data))) + padded := len(data) + if pad := 8 - len(data)%8; pad != 8 { padded += pad } if len(w.buf) < padded { w.eof = true } else { - copy(w.buf, a.Data) + copy(w.buf, data) w.buf = w.buf[padded:] } default: diff --git a/prog/hints.go b/prog/hints.go index e9f6f8a62..fb3100c3f 100644 --- a/prog/hints.go +++ b/prog/hints.go @@ -120,16 +120,21 @@ func checkConstArg(arg *ConstArg, compMap CompMap, exec func()) { func checkDataArg(arg *DataArg, compMap CompMap, exec func()) { bytes := make([]byte, 8) - for i := 0; i < min(len(arg.Data), maxDataLength); i++ { + data := arg.Data() + size := len(data) + if size > maxDataLength { + size = maxDataLength + } + for i := 0; i < size; i++ { original := make([]byte, 8) - copy(original, arg.Data[i:]) + copy(original, data[i:]) val := binary.LittleEndian.Uint64(original) for replacer := range shrinkExpand(val, compMap) { binary.LittleEndian.PutUint64(bytes, replacer) - copy(arg.Data[i:], bytes) + copy(data[i:], bytes) exec() } - copy(arg.Data[i:], original) + copy(data[i:], original) } } @@ -205,10 +210,3 @@ func init() { specialIntsSet[v] = true } } - -func min(a, b int) int { - if a <= b { - return a - } - return b -} diff --git a/prog/hints_test.go b/prog/hints_test.go index 904d36500..eef2758b6 100644 --- a/prog/hints_test.go +++ b/prog/hints_test.go @@ -161,10 +161,10 @@ func TestHintsCheckDataArg(t *testing.T) { res := make(map[string]bool) // Whatever type here. It's just needed to pass the // dataArg.Type().Dir() == DirIn check. - typ := ArrayType{TypeCommon{"", "", 0, DirIn, false}, nil, 0, 0, 0} - dataArg := &DataArg{ArgCommon{&typ}, []byte(test.in)} + typ := &ArrayType{TypeCommon{"", "", 0, DirIn, false}, nil, 0, 0, 0} + dataArg := MakeDataArg(typ, []byte(test.in)).(*DataArg) checkDataArg(dataArg, test.comps, func() { - res[string(dataArg.Data)] = true + res[string(dataArg.Data())] = true }) if !reflect.DeepEqual(res, test.res) { s := "\ngot: [" @@ -365,26 +365,30 @@ func TestHintsRandom(t *testing.T) { func extractValues(c *Call) map[uint64]bool { vals := make(map[uint64]bool) foreachArg(c, func(arg, _ Arg, _ *[]Arg) { + if arg.Type().Dir() == DirOut { + return + } switch a := arg.(type) { case *ConstArg: vals[a.Val] = true case *DataArg: - for i := range a.Data { - vals[uint64(a.Data[i])] = true - if i < len(a.Data)-1 { - v := uint64(a.Data[i]) | uint64(a.Data[i+1])<<8 + data := a.Data() + for i := range data { + vals[uint64(data[i])] = true + if i < len(data)-1 { + v := uint64(data[i]) | uint64(data[i+1])<<8 vals[v] = true } - if i < len(a.Data)-3 { - v := uint64(a.Data[i]) | uint64(a.Data[i+1])<<8 | - uint64(a.Data[i+2])<<16 | uint64(a.Data[i+3])<<24 + if i < len(data)-3 { + v := uint64(data[i]) | uint64(data[i+1])<<8 | + uint64(data[i+2])<<16 | uint64(data[i+3])<<24 vals[v] = true } - if i < len(a.Data)-7 { - v := uint64(a.Data[i]) | uint64(a.Data[i+1])<<8 | - uint64(a.Data[i+2])<<16 | uint64(a.Data[i+3])<<24 | - uint64(a.Data[i+4])<<32 | uint64(a.Data[i+5])<<40 | - uint64(a.Data[i+6])<<48 | uint64(a.Data[i+7])<<56 + if i < len(data)-7 { + v := uint64(data[i]) | uint64(data[i+1])<<8 | + uint64(data[i+2])<<16 | uint64(data[i+3])<<24 | + uint64(data[i+4])<<32 | uint64(data[i+5])<<40 | + uint64(data[i+6])<<48 | uint64(data[i+7])<<56 vals[v] = true } } @@ -428,7 +432,7 @@ func TestHintsData(t *testing.T) { var got []string p.MutateWithHints(0, test.comps, func(newP *Prog) { got = append(got, hex.EncodeToString( - newP.Calls[0].Args[0].(*PointerArg).Res.(*DataArg).Data)) + newP.Calls[0].Args[0].(*PointerArg).Res.(*DataArg).Data())) }) sort.Strings(test.out) sort.Strings(got) diff --git a/prog/mutation.go b/prog/mutation.go index 63c58ad7f..1aeef4fa4 100644 --- a/prog/mutation.go +++ b/prog/mutation.go @@ -101,27 +101,28 @@ func (p *Prog) Mutate(rs rand.Source, ncalls int, ct *ChoiceTable, corpus []*Pro a := arg.(*DataArg) switch t.Kind { case BufferBlobRand, BufferBlobRange: - var data []byte - data = append([]byte{}, a.Data...) + data := append([]byte{}, a.Data()...) minLen, maxLen := uint64(0), maxBlobLen if t.Kind == BufferBlobRange { minLen, maxLen = t.RangeBegin, t.RangeEnd } - a.Data = mutateData(r, data, minLen, maxLen) + a.data = mutateData(r, data, minLen, maxLen) case BufferString: + data := append([]byte{}, a.Data()...) if r.bin() { minLen, maxLen := uint64(0), maxBlobLen if t.TypeSize != 0 { minLen, maxLen = t.TypeSize, t.TypeSize } - a.Data = mutateData(r, append([]byte{}, a.Data...), minLen, maxLen) + a.data = mutateData(r, data, minLen, maxLen) } else { - a.Data = r.randString(s, t.Values, t.Dir()) + a.data = r.randString(s, t.Values, t.Dir()) } case BufferFilename: - a.Data = []byte(r.filename(s)) + a.data = []byte(r.filename(s)) case BufferText: - a.Data = r.mutateText(t.Text, a.Data) + data := append([]byte{}, a.Data()...) + a.data = r.mutateText(t.Text, data) default: panic("unknown buffer kind") } @@ -430,19 +431,20 @@ func Minimize(p0 *Prog, callIndex0 int, pred0 func(*Prog, int) bool, crash bool) return false } triedPaths[path] = true - if typ.Kind != BufferBlobRand && typ.Kind != BufferBlobRange { + if typ.Kind != BufferBlobRand && typ.Kind != BufferBlobRange || + typ.Dir() == DirOut { return false } a := arg.(*DataArg) minLen := int(typ.RangeBegin) - for step := len(a.Data) - minLen; len(a.Data) > minLen && step > 0; { - if len(a.Data)-step >= minLen { - a.Data = a.Data[:len(a.Data)-step] + for step := len(a.Data()) - minLen; len(a.Data()) > minLen && step > 0; { + if len(a.Data())-step >= minLen { + a.data = a.Data()[:len(a.Data())-step] p.Target.assignSizesCall(call) if pred(p, callIndex0) { continue } - a.Data = a.Data[:len(a.Data)+step] + a.data = a.Data()[:len(a.Data())+step] p.Target.assignSizesCall(call) } step /= 2 diff --git a/prog/prog.go b/prog/prog.go index 0fcf6b66e..66de938b3 100644 --- a/prog/prog.go +++ b/prog/prog.go @@ -86,11 +86,36 @@ func (arg *PointerArg) Size() uint64 { // Used for BufferType. type DataArg struct { ArgCommon - Data []byte + data []byte // for in/inout args + size uint64 // for out Args +} + +func MakeDataArg(t Type, data []byte) Arg { + if t.Dir() == DirOut { + panic("non-empty output data arg") + } + return &DataArg{ArgCommon: ArgCommon{typ: t}, data: append([]byte{}, data...)} +} + +func MakeOutDataArg(t Type, size uint64) Arg { + if t.Dir() != DirOut { + panic("empty input data arg") + } + return &DataArg{ArgCommon: ArgCommon{typ: t}, size: size} } func (arg *DataArg) Size() uint64 { - return uint64(len(arg.Data)) + if len(arg.data) != 0 { + return uint64(len(arg.data)) + } + return arg.size +} + +func (arg *DataArg) Data() []byte { + if arg.Type().Dir() == DirOut { + panic("getting data of output data arg") + } + return arg.data } // Used for StructType and ArrayType. @@ -240,10 +265,6 @@ func MakeResultArg(t Type, r Arg, v uint64) Arg { return arg } -func MakeDataArg(t Type, data []byte) Arg { - return &DataArg{ArgCommon: ArgCommon{typ: t}, Data: append([]byte{}, data...)} -} - func MakePointerArg(t Type, page uint64, off int, npages uint64, obj Arg) Arg { return &PointerArg{ArgCommon: ArgCommon{typ: t}, PageIndex: page, PageOffset: off, PagesNum: npages, Res: obj} } @@ -267,6 +288,13 @@ func defaultArg(t Type) Arg { case *ResourceType: return MakeResultArg(t, nil, typ.Desc.Type.Default()) case *BufferType: + if t.Dir() == DirOut { + var sz uint64 + if !typ.Varlen() { + sz = typ.Size() + } + return MakeOutDataArg(t, sz) + } var data []byte if !typ.Varlen() { data = make([]byte, typ.Size()) diff --git a/prog/rand.go b/prog/rand.go index b99399c9d..173248599 100644 --- a/prog/rand.go +++ b/prog/rand.go @@ -593,32 +593,38 @@ func (r *randGen) generateArg(s *state, typ Type) (arg Arg, calls []*Call) { if a.Kind == BufferBlobRange { sz = r.randRange(a.RangeBegin, a.RangeEnd) } + if a.Dir() == DirOut { + return MakeOutDataArg(a, sz), nil + } data := make([]byte, sz) - if a.Dir() != DirOut { - for i := range data { - data[i] = byte(r.Intn(256)) - } + for i := range data { + data[i] = byte(r.Intn(256)) } return MakeDataArg(a, data), nil case BufferString: data := r.randString(s, a.Values, a.Dir()) + if a.Dir() == DirOut { + return MakeOutDataArg(a, uint64(len(data))), nil + } return MakeDataArg(a, data), nil case BufferFilename: - var data []byte if a.Dir() == DirOut { + sz := 0 switch { case r.nOutOf(1, 3): - data = make([]byte, r.Intn(100)) + sz = r.Intn(100) case r.nOutOf(1, 2): - data = make([]byte, 108) // UNIX_PATH_MAX + sz = 108 // UNIX_PATH_MAX default: - data = make([]byte, 4096) // PATH_MAX + sz = 4096 // PATH_MAX } - } else { - data = []byte(r.filename(s)) + return MakeOutDataArg(a, uint64(sz)), nil } - return MakeDataArg(a, data), nil + return MakeDataArg(a, []byte(r.filename(s))), nil case BufferText: + if a.Dir() == DirOut { + return MakeOutDataArg(a, uint64(r.Intn(100))), nil + } return MakeDataArg(a, r.generateText(a.Text)), nil default: panic("unknown buffer kind") diff --git a/prog/validation.go b/prog/validation.go index e1f083b2a..d0f6d0bd2 100644 --- a/prog/validation.go +++ b/prog/validation.go @@ -68,10 +68,9 @@ func (c *Call) validate(ctx *validCtx) error { return fmt.Errorf("syscall %v: output arg '%v'/'%v' has non default value '%+v'", c.Meta.Name, a.Type().FieldName(), a.Type().Name(), a) } case *DataArg: - for _, v := range a.Data { - if v != 0 { - return fmt.Errorf("syscall %v: output arg '%v' has data", c.Meta.Name, a.Type().Name()) - } + if len(a.data) != 0 { + return fmt.Errorf("syscall %v: output arg '%v' has data", + c.Meta.Name, a.Type().Name()) } } } @@ -123,9 +122,9 @@ func (c *Call) validate(ctx *validCtx) error { case *DataArg: switch typ1.Kind { case BufferString: - if typ1.TypeSize != 0 && uint64(len(a.Data)) != typ1.TypeSize { + if typ1.TypeSize != 0 && a.Size() != typ1.TypeSize { return fmt.Errorf("syscall %v: string arg '%v' has size %v, which should be %v", - c.Meta.Name, a.Type().Name(), len(a.Data), typ1.TypeSize) + c.Meta.Name, a.Type().Name(), a.Size(), typ1.TypeSize) } } default: @@ -178,10 +177,9 @@ func (c *Call) validate(ctx *validCtx) error { } case *DataArg: typ1 := a.Type() - if !typ1.Varlen() && typ1.Size() != uint64(len(a.Data)) { + if !typ1.Varlen() && typ1.Size() != a.Size() { return fmt.Errorf("syscall %v: data arg %v has wrong size %v, want %v", - c.Meta.Name, arg.Type().Name(), - len(a.Data), typ1.Size()) + c.Meta.Name, arg.Type().Name(), a.Size(), typ1.Size()) } switch typ1 := a.Type().(type) { case *ArrayType: diff --git a/sys/test/32.go b/sys/test/32.go index 3431929d0..9b27e6e73 100644 --- a/sys/test/32.go +++ b/sys/test/32.go @@ -14,7 +14,7 @@ var resources_32 = []*ResourceDesc{ } var structDescs_32 = []*KeyedStruct{ - {Key: StructKey{Name: "serialize_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize_struct", TypeSize: 15}, Fields: []Type{ + {Key: StructKey{Name: "serialize0_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize0_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"}}, }}}, @@ -404,216 +404,220 @@ 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, Name: "serialize", CallName: "serialize", Args: []Type{ - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "serialize_struct"}}}, + {ID: 8, Name: "serialize0", CallName: "serialize0", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 4}, Type: &StructType{Key: StructKey{Name: "serialize0_struct"}}}, }}, - {ID: 9, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, - {ID: 10, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ + {ID: 9, Name: "serialize1", CallName: "serialize1", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 4}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "b", TypeSize: 4}}, Buf: "a"}, + }}, + {ID: 10, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, + {ID: 11, 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: 11, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ + {ID: 12, 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: 12, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ + {ID: 13, 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: 13, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ + {ID: 14, 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: 14, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ + {ID: 15, 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: 15, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ + {ID: 16, 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: 16, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ + {ID: 17, 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: 17, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ + {ID: 18, 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: 18, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ + {ID: 19, 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: 19, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ + {ID: 20, 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: 20, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ + {ID: 21, 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: 21, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ + {ID: 22, 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: 22, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ + {ID: 23, 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: 23, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ + {ID: 24, 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: 24, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ + {ID: 25, 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: 25, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ + {ID: 26, 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: 26, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ + {ID: 27, 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: 27, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ + {ID: 28, 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: 28, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ + {ID: 29, 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: 29, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ + {ID: 30, 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: 30, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ + {ID: 31, 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: 31, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ + {ID: 32, 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: 32, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ + {ID: 33, 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: 33, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ + {ID: 34, 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: 34, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ + {ID: 35, 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: 35, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ + {ID: 36, 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: 36, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ + {ID: 37, 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: 37, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ + {ID: 38, 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: 38, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ + {ID: 39, 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: 39, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ + {ID: 40, 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: 40, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ + {ID: 41, 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: 41, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ + {ID: 42, 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: 42, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ + {ID: 43, 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: 43, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ + {ID: 44, 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: 44, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ + {ID: 45, 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: 45, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ + {ID: 46, 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: 46, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ + {ID: 47, 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: 47, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ + {ID: 48, 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: 48, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ + {ID: 49, 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: 49, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ + {ID: 50, 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: 50, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ + {ID: 51, 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: 51, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ + {ID: 52, 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: 52, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ + {ID: 53, 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: 53, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ + {ID: 54, 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: 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{ + {ID: 55, 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: 56, 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: 56, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ + {ID: 57, 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: 57, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ + {ID: 58, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 4, IsOptional: true}}, }}, - {ID: 58, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ + {ID: 59, 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: 59, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ + {ID: 60, 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: 60, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ + {ID: 61, 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: 61, NR: 1000000, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ + {ID: 62, 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: 62, NR: 1000000, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + {ID: 63, 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: 63, NR: 1000000, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + {ID: 64, 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: 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{ + {ID: 65, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 66, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 66, NR: 1000000, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 67, 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: 67, NR: 1000000, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 68, 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: 68, NR: 1000000, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 69, 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: 69, NR: 1000000, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 70, 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: 70, NR: 1000000, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 71, 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: 71, NR: 1000000, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 72, 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: 72, NR: 1000000, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 73, 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: 73, NR: 1000000, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 74, 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: 74, NR: 1000000, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 75, 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}, @@ -630,4 +634,4 @@ var consts_32 = []ConstValue{ {Name: "ONLY_32BITS_CONST", Value: 1}, } -const revision_32 = "ab5b2b746192f26c994482e664534cbf487e3dbe" +const revision_32 = "79ae2d829892c1b024cfea6076725a13e0ada442" diff --git a/sys/test/64.go b/sys/test/64.go index 8618c6b91..75069346e 100644 --- a/sys/test/64.go +++ b/sys/test/64.go @@ -14,7 +14,7 @@ var resources_64 = []*ResourceDesc{ } var structDescs_64 = []*KeyedStruct{ - {Key: StructKey{Name: "serialize_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize_struct", TypeSize: 15}, Fields: []Type{ + {Key: StructKey{Name: "serialize0_struct"}, Desc: &StructDesc{TypeCommon: TypeCommon{TypeName: "serialize0_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"}}, }}}, @@ -403,216 +403,220 @@ 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, Name: "serialize", CallName: "serialize", Args: []Type{ - &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "serialize_struct"}}}, + {ID: 8, Name: "serialize0", CallName: "serialize0", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 8}, Type: &StructType{Key: StructKey{Name: "serialize0_struct"}}}, }}, - {ID: 9, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, - {ID: 10, NR: 1000000, Name: "syz_test$align0", CallName: "syz_test", Args: []Type{ + {ID: 9, Name: "serialize1", CallName: "serialize1", Args: []Type{ + &PtrType{TypeCommon: TypeCommon{TypeName: "ptr", FldName: "a", TypeSize: 8}, Type: &BufferType{TypeCommon: TypeCommon{TypeName: "array", ArgDir: 1}}}, + &LenType{IntTypeCommon: IntTypeCommon{TypeCommon: TypeCommon{TypeName: "len", FldName: "b", TypeSize: 8}}, Buf: "a"}, + }}, + {ID: 10, NR: 1000000, Name: "syz_test", CallName: "syz_test"}, + {ID: 11, 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: 11, NR: 1000000, Name: "syz_test$align1", CallName: "syz_test", Args: []Type{ + {ID: 12, 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: 12, NR: 1000000, Name: "syz_test$align2", CallName: "syz_test", Args: []Type{ + {ID: 13, 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: 13, NR: 1000000, Name: "syz_test$align3", CallName: "syz_test", Args: []Type{ + {ID: 14, 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: 14, NR: 1000000, Name: "syz_test$align4", CallName: "syz_test", Args: []Type{ + {ID: 15, 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: 15, NR: 1000000, Name: "syz_test$align5", CallName: "syz_test", Args: []Type{ + {ID: 16, 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: 16, NR: 1000000, Name: "syz_test$align6", CallName: "syz_test", Args: []Type{ + {ID: 17, 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: 17, NR: 1000000, Name: "syz_test$array0", CallName: "syz_test", Args: []Type{ + {ID: 18, 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: 18, NR: 1000000, Name: "syz_test$array1", CallName: "syz_test", Args: []Type{ + {ID: 19, 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: 19, NR: 1000000, Name: "syz_test$array2", CallName: "syz_test", Args: []Type{ + {ID: 20, 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: 20, NR: 1000000, Name: "syz_test$bf0", CallName: "syz_test", Args: []Type{ + {ID: 21, 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: 21, NR: 1000000, Name: "syz_test$bf1", CallName: "syz_test", Args: []Type{ + {ID: 22, 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: 22, NR: 1000000, Name: "syz_test$csum_encode", CallName: "syz_test", Args: []Type{ + {ID: 23, 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: 23, NR: 1000000, Name: "syz_test$csum_ipv4", CallName: "syz_test", Args: []Type{ + {ID: 24, 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: 24, NR: 1000000, Name: "syz_test$csum_ipv4_tcp", CallName: "syz_test", Args: []Type{ + {ID: 25, 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: 25, NR: 1000000, Name: "syz_test$csum_ipv4_udp", CallName: "syz_test", Args: []Type{ + {ID: 26, 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: 26, NR: 1000000, Name: "syz_test$csum_ipv6_icmp", CallName: "syz_test", Args: []Type{ + {ID: 27, 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: 27, NR: 1000000, Name: "syz_test$csum_ipv6_tcp", CallName: "syz_test", Args: []Type{ + {ID: 28, 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: 28, NR: 1000000, Name: "syz_test$csum_ipv6_udp", CallName: "syz_test", Args: []Type{ + {ID: 29, 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: 29, NR: 1000000, Name: "syz_test$end0", CallName: "syz_test", Args: []Type{ + {ID: 30, 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: 30, NR: 1000000, Name: "syz_test$end1", CallName: "syz_test", Args: []Type{ + {ID: 31, 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: 31, NR: 1000000, Name: "syz_test$hint_data", CallName: "syz_test", Args: []Type{ + {ID: 32, 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: 32, NR: 1000000, Name: "syz_test$int", CallName: "syz_test", Args: []Type{ + {ID: 33, 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: 33, NR: 1000000, Name: "syz_test$length0", CallName: "syz_test", Args: []Type{ + {ID: 34, 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: 34, NR: 1000000, Name: "syz_test$length1", CallName: "syz_test", Args: []Type{ + {ID: 35, 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: 35, NR: 1000000, Name: "syz_test$length10", CallName: "syz_test", Args: []Type{ + {ID: 36, 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: 36, NR: 1000000, Name: "syz_test$length11", CallName: "syz_test", Args: []Type{ + {ID: 37, 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: 37, NR: 1000000, Name: "syz_test$length12", CallName: "syz_test", Args: []Type{ + {ID: 38, 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: 38, NR: 1000000, Name: "syz_test$length13", CallName: "syz_test", Args: []Type{ + {ID: 39, 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: 39, NR: 1000000, Name: "syz_test$length14", CallName: "syz_test", Args: []Type{ + {ID: 40, 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: 40, NR: 1000000, Name: "syz_test$length15", CallName: "syz_test", Args: []Type{ + {ID: 41, 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: 41, NR: 1000000, Name: "syz_test$length16", CallName: "syz_test", Args: []Type{ + {ID: 42, 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: 42, NR: 1000000, Name: "syz_test$length17", CallName: "syz_test", Args: []Type{ + {ID: 43, 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: 43, NR: 1000000, Name: "syz_test$length18", CallName: "syz_test", Args: []Type{ + {ID: 44, 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: 44, NR: 1000000, Name: "syz_test$length19", CallName: "syz_test", Args: []Type{ + {ID: 45, 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: 45, NR: 1000000, Name: "syz_test$length2", CallName: "syz_test", Args: []Type{ + {ID: 46, 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: 46, NR: 1000000, Name: "syz_test$length20", CallName: "syz_test", Args: []Type{ + {ID: 47, 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: 47, NR: 1000000, Name: "syz_test$length3", CallName: "syz_test", Args: []Type{ + {ID: 48, 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: 48, NR: 1000000, Name: "syz_test$length4", CallName: "syz_test", Args: []Type{ + {ID: 49, 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: 49, NR: 1000000, Name: "syz_test$length5", CallName: "syz_test", Args: []Type{ + {ID: 50, 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: 50, NR: 1000000, Name: "syz_test$length6", CallName: "syz_test", Args: []Type{ + {ID: 51, 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: 51, NR: 1000000, Name: "syz_test$length7", CallName: "syz_test", Args: []Type{ + {ID: 52, 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: 52, NR: 1000000, Name: "syz_test$length8", CallName: "syz_test", Args: []Type{ + {ID: 53, 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: 53, NR: 1000000, Name: "syz_test$length9", CallName: "syz_test", Args: []Type{ + {ID: 54, 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: 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{ + {ID: 55, 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: 56, 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: 56, NR: 1000000, Name: "syz_test$opt1", CallName: "syz_test", Args: []Type{ + {ID: 57, 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: 57, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ + {ID: 58, NR: 1000000, Name: "syz_test$opt2", CallName: "syz_test", Args: []Type{ &VmaType{TypeCommon: TypeCommon{TypeName: "vma", FldName: "a0", TypeSize: 8, IsOptional: true}}, }}, - {ID: 58, NR: 1000000, Name: "syz_test$recur0", CallName: "syz_test", Args: []Type{ + {ID: 59, 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: 59, NR: 1000000, Name: "syz_test$recur1", CallName: "syz_test", Args: []Type{ + {ID: 60, 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: 60, NR: 1000000, Name: "syz_test$recur2", CallName: "syz_test", Args: []Type{ + {ID: 61, 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: 61, NR: 1000000, Name: "syz_test$regression0", CallName: "syz_test", Args: []Type{ + {ID: 62, 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: 62, NR: 1000000, Name: "syz_test$regression1", CallName: "syz_test", Args: []Type{ + {ID: 63, 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: 63, NR: 1000000, Name: "syz_test$regression2", CallName: "syz_test", Args: []Type{ + {ID: 64, 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: 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{ + {ID: 65, NR: 1000000, Name: "syz_test$res0", CallName: "syz_test", Ret: &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "ret", TypeSize: 4, ArgDir: 1}}}, + {ID: 66, NR: 1000000, Name: "syz_test$res1", CallName: "syz_test", Args: []Type{ &ResourceType{TypeCommon: TypeCommon{TypeName: "syz_res", FldName: "a0", TypeSize: 4}}, }}, - {ID: 66, NR: 1000000, Name: "syz_test$struct", CallName: "syz_test", Args: []Type{ + {ID: 67, 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: 67, NR: 1000000, Name: "syz_test$text_x86_16", CallName: "syz_test", Args: []Type{ + {ID: 68, 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: 68, NR: 1000000, Name: "syz_test$text_x86_32", CallName: "syz_test", Args: []Type{ + {ID: 69, 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: 69, NR: 1000000, Name: "syz_test$text_x86_64", CallName: "syz_test", Args: []Type{ + {ID: 70, 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: 70, NR: 1000000, Name: "syz_test$text_x86_real", CallName: "syz_test", Args: []Type{ + {ID: 71, 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: 71, NR: 1000000, Name: "syz_test$union0", CallName: "syz_test", Args: []Type{ + {ID: 72, 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: 72, NR: 1000000, Name: "syz_test$union1", CallName: "syz_test", Args: []Type{ + {ID: 73, 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: 73, NR: 1000000, Name: "syz_test$union2", CallName: "syz_test", Args: []Type{ + {ID: 74, 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: 74, NR: 1000000, Name: "syz_test$vma0", CallName: "syz_test", Args: []Type{ + {ID: 75, 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}, @@ -628,4 +632,4 @@ var consts_64 = []ConstValue{ {Name: "IPPROTO_UDP", Value: 17}, } -const revision_64 = "1dd179fe95626e284e24e4e636195924bced24ef" +const revision_64 = "b1c83c04183eb27b5158df59d58c510efb35257d" diff --git a/sys/test/test.txt b/sys/test/test.txt index 69f987a16..3254cee18 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -558,9 +558,10 @@ open_flags = 0xabababababababab, 0xcdcdcdcdcdcdcdcd # Serialization tests. -serialize(a ptr[in, serialize_struct]) +serialize0(a ptr[in, serialize0_struct]) +serialize1(a ptr[out, array[int8]], b len[a]) -serialize_struct { +serialize0_struct { a string[serialize_strings, 10] b string[serialize_strings, 5] } |
