github.com/google/syzkaller@v0.0.0-20240517125934-c0f1611a36d6/sys/test/exec.txt (about)

     1  # Copyright 2018 syzkaller project authors. All rights reserved.
     2  # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
     3  
     4  syz_mmap(addr vma, len len[addr])
     5  syz_errno(v int32)
     6  syz_exit(status int32)
     7  syz_sleep_ms(ms intptr)
     8  syz_compare(want ptr[in, string], want_len bytesize[want], got ptr[in, compare_data], got_len bytesize[got])
     9  syz_compare_int$2(n const[2], v0 intptr, v1 intptr)
    10  syz_compare_int$3(n const[3], v0 intptr, v1 intptr, v2 intptr)
    11  syz_compare_int$4(n const[4], v0 intptr, v1 intptr, v2 intptr, v3 intptr)
    12  syz_compare_zlib(data ptr[in, array[int8]], size bytesize[data], zdata ptr[in, compressed_image], zsize bytesize[zdata]) (no_generate, no_minimize)
    13  
    14  compare_data [
    15  	align0		align0
    16  	bf0		syz_bf_struct0
    17  	bf1		syz_bf_struct1
    18  	bf2		syz_bf_struct2
    19  	bf3		syz_bf_struct3
    20  	bf4		syz_bf_align[syz_bf_struct4]
    21  	bf5		syz_bf_align[syz_bf_struct5]
    22  	bf6		syz_bf_align[syz_bf_struct6]
    23  	bf7		syz_bf_align[syz_bf_struct7]
    24  	bf8		syz_bf_align[syz_bf_struct8]
    25  	bf9		syz_bf_align[syz_bf_struct9]
    26  	bf10		syz_bf_align[syz_bf_struct10]
    27  	bf11		syz_bf_align[syz_bf_struct11]
    28  	bf12		syz_bf_align[syz_bf_struct12]
    29  	bf13		syz_bf_align[syz_bf_struct13]
    30  	bf14		syz_bf_align[syz_bf_struct14]
    31  	bf15		syz_bf_align[syz_bf_struct15]
    32  	bf16		syz_bf_align[syz_bf_struct16]
    33  	bf17		syz_bf_align[syz_bf_struct17]
    34  	bf18		syz_bf_align[syz_bf_struct18]
    35  	bf19		syz_bf_align[syz_bf_struct19]
    36  	bf20		syz_bf_align[syz_bf_struct20]
    37  	bf21		syz_bf_align[syz_bf_struct21]
    38  	bf22		syz_bf_align[syz_bf_struct22]
    39  	bf23		syz_bf_align[syz_bf_struct23]
    40  	bf24		syz_bf_align[syz_bf_struct24]
    41  	bf25		syz_bf_align[syz_bf_struct25]
    42  	str		string
    43  	blob		array[int8]
    44  	arr16be		array[int16be]
    45  	nla		array[compare_nla]
    46  	fmt0		fmt[oct, int32]
    47  	fmt1		fmt[dec, int32]
    48  	fmt2		fmt[hex, int32]
    49  	fmt3		fmt[dec, flags[flags_with_one_value]]
    50  	overlayres	overlayres
    51  	overlay0	overlay0
    52  	overlay1	overlay1
    53  	overlay2	overlay2
    54  	conditional	conditional_struct
    55  	conditional2	condition_and_align
    56  	conditional3	condition_parent_align
    57  ] [varlen]
    58  
    59  flags_with_one_value = 0
    60  
    61  compare_nla [
    62  	a0	nlattr[0xaa, int8]
    63  	a1	nlattr[0xbb, int16]
    64  	a2	nlattr[0xcc, int32]
    65  	a3	nlattr[0xdd, int64]
    66  	a4	nlattr[0xee, stringnoz]
    67  	a5	nlnest[0xaa, int8]
    68  	a6	nlnest[0xaa, int32]
    69  	a7	nlnetw[0xaa, int8]
    70  	a8	nlnetw[0xaa, int32]
    71  ] [varlen]
    72  
    73  type nlattr_t[TYPE, PAYLOAD] {
    74  	nla_len		offsetof[size, int16]
    75  	nla_type	TYPE
    76  	payload		PAYLOAD
    77  	size		void
    78  } [packed, align[4]]
    79  
    80  type nlattr_tt[TYPE, NETORDER, NESTED, PAYLOAD] {
    81  	nla_len			offsetof[size, int16]
    82  	nla_type		TYPE
    83  	NLA_F_NET_BYTEORDER	const[NETORDER, int16:1]
    84  	NLA_F_NESTED		const[NESTED, int16:1]
    85  	payload			PAYLOAD
    86  	size			void
    87  } [packed, align[4]]
    88  
    89  type nlattr[TYPE, PAYLOAD] nlattr_t[const[TYPE, int16], PAYLOAD]
    90  type nlnest[TYPE, PAYLOAD] nlattr_tt[const[TYPE, int16:14], 0, 1, PAYLOAD]
    91  type nlnetw[TYPE, PAYLOAD] nlattr_tt[const[TYPE, int16:14], 1, 0, PAYLOAD]
    92  
    93  align0 {
    94  	f0	int16
    95  	f1	int32
    96  	f2	int8
    97  	f3	int16
    98  	f4	int64
    99  }
   100  
   101  syz_bf_struct4 {
   102  	f0	int8
   103  	f1	int32:4
   104  	f2	int8
   105  }
   106  
   107  syz_bf_struct5 {
   108  	f0	int8
   109  	f1	int32:4
   110  }
   111  
   112  syz_bf_struct6 {
   113  	f0	int8
   114  	f1	int16:4
   115  	f2	int8
   116  }
   117  
   118  syz_bf_struct7 {
   119  	f0	int8
   120  	f1	int16:4
   121  }
   122  
   123  syz_bf_struct8 {
   124  	f0	int8
   125  	f1	int32:4
   126  	f2	int16:4
   127  }
   128  
   129  syz_bf_struct9 {
   130  	f0	int8
   131  	f1	int16:4
   132  	f2	int16:4
   133  }
   134  
   135  syz_bf_struct10 {
   136  	f0	int32:4
   137  	f1	int32:4
   138  	f2	int32:4
   139  	f3	int64:12
   140  	f4	int64:12
   141  	f5	int64:12
   142  	f6	int64:12
   143  	f7	int64:12
   144  	f8	int8
   145  }
   146  
   147  syz_bf_struct11 {
   148  	f0	int8
   149  	f1	int8
   150  	f2	int8
   151  	f3	int32:4
   152  	f4	int32:4
   153  }
   154  
   155  syz_bf_struct12 {
   156  	f0	int8
   157  	f1	int8
   158  	f2	int8
   159  	f3	int32:4
   160  	f4	int32:4
   161  	f5	int32:4
   162  	f6	int8
   163  }
   164  
   165  syz_bf_struct13 {
   166  	f0	int16
   167  	f1	int32:12
   168  	f2	int32:12
   169  }
   170  
   171  syz_bf_struct14 {
   172  	f0	int8
   173  	f1	int8
   174  	f2	int32:12
   175  }
   176  
   177  syz_bf_struct15 {
   178  	f0	int8
   179  	f1	int32:12
   180  	f2	int16:4
   181  }
   182  
   183  syz_bf_struct16 {
   184  	f0	int8
   185  	f1	int32:4
   186  	f2	int16:4
   187  }
   188  
   189  syz_bf_struct17 {
   190  	f0	int8
   191  	f1	int32:6
   192  	f2	int16:4
   193  }
   194  
   195  syz_bf_struct18 {
   196  	f0	int8
   197  	f1	int32:4
   198  	f2	int16:6
   199  }
   200  
   201  syz_bf_struct19 {
   202  	f0	int8
   203  	f1	int16:12
   204  }
   205  
   206  syz_bf_struct20 {
   207  	f0	int8
   208  	f1	int8
   209  	f2	int64:4
   210  	f3	int32:4
   211  	f4	int16:4
   212  	f5	int8:4
   213  }
   214  
   215  syz_bf_struct21 {
   216  	f0	int32
   217  	f1	int8
   218  	f2	int16:8
   219  	f3	int16
   220  }
   221  
   222  syz_bf_struct22 {
   223  	f0	int8
   224  	f1	int64:4
   225  	f2	int16:4
   226  } [packed]
   227  
   228  syz_bf_struct23 {
   229  	f0	int8
   230  	f1	int32:4
   231  	f2	int16:6
   232  } [packed]
   233  
   234  syz_bf_struct24 {
   235  	f0	int8
   236  	f1	int64:4
   237  } [packed]
   238  
   239  syz_bf_struct25 {
   240  	f0	int16
   241  	f1	int16:14
   242  	f2	int16:1
   243  	f3	int16:1
   244  	f4	int16
   245  	f5	void
   246  } [packed, align[4]]
   247  
   248  type syz_bf_align[T] {
   249  	f0	int8
   250  	f1	T
   251  }
   252  
   253  resource overlayres8[int8]
   254  resource overlayres16[int16]
   255  resource overlayres32[int32]
   256  resource overlayres64[int64]
   257  
   258  overlay_ctor(a ptr[out, overlayres8], b ptr[out, overlayres16], c ptr[out, overlayres32], d ptr[out, overlayres64])
   259  overlay_uses(a overlayres8, b overlayres16, c overlayres32, d overlayres64)
   260  overlay_any(a ptr[in, compare_data])
   261  
   262  overlayres [
   263  	res8	overlayres8
   264  	res16	overlayres16
   265  	res32	overlayres32
   266  	res64	overlayres64
   267  ] [varlen]
   268  
   269  overlay0 {
   270  	i0	int32
   271  	i1	int32
   272  	o0	overlayres32	(out_overlay)
   273  	o1	overlayres32
   274  }
   275  
   276  overlay1 {
   277  	i0	int32
   278  	i1	int8
   279  	o0	overlayres8	(out_overlay)
   280  	o1	overlayres16
   281  }
   282  
   283  overlay2 {
   284  	i0	int32
   285  	i1	int32
   286  	o0	overlayres64	(out_overlay)
   287  	o1	overlayres64
   288  }