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