root/tools/testing/selftests/bpf/verifier/jump.c

/* [<][>][^][v][top][bottom][index][help] */
   1 {
   2         "jump test 1",
   3         .insns = {
   4         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
   5         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_1, -8),
   6         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
   7         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
   8         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 1),
   9         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 1),
  10         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 1),
  11         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 2),
  12         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 1),
  13         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 3),
  14         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 1),
  15         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 4),
  16         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
  17         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 5),
  18         BPF_MOV64_IMM(BPF_REG_0, 0),
  19         BPF_EXIT_INSN(),
  20         },
  21         .errstr_unpriv = "R1 pointer comparison",
  22         .result_unpriv = REJECT,
  23         .result = ACCEPT,
  24 },
  25 {
  26         "jump test 2",
  27         .insns = {
  28         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
  29         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 2),
  30         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
  31         BPF_JMP_IMM(BPF_JA, 0, 0, 14),
  32         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 2),
  33         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
  34         BPF_JMP_IMM(BPF_JA, 0, 0, 11),
  35         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 2),
  36         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
  37         BPF_JMP_IMM(BPF_JA, 0, 0, 8),
  38         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 2),
  39         BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
  40         BPF_JMP_IMM(BPF_JA, 0, 0, 5),
  41         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 2),
  42         BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
  43         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
  44         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
  45         BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
  46         BPF_MOV64_IMM(BPF_REG_0, 0),
  47         BPF_EXIT_INSN(),
  48         },
  49         .errstr_unpriv = "R1 pointer comparison",
  50         .result_unpriv = REJECT,
  51         .result = ACCEPT,
  52 },
  53 {
  54         "jump test 3",
  55         .insns = {
  56         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
  57         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 3),
  58         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
  59         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
  60         BPF_JMP_IMM(BPF_JA, 0, 0, 19),
  61         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 3),
  62         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
  63         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
  64         BPF_JMP_IMM(BPF_JA, 0, 0, 15),
  65         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 3),
  66         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
  67         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -32),
  68         BPF_JMP_IMM(BPF_JA, 0, 0, 11),
  69         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 3),
  70         BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
  71         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -40),
  72         BPF_JMP_IMM(BPF_JA, 0, 0, 7),
  73         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 3),
  74         BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
  75         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -48),
  76         BPF_JMP_IMM(BPF_JA, 0, 0, 3),
  77         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 0),
  78         BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
  79         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -56),
  80         BPF_LD_MAP_FD(BPF_REG_1, 0),
  81         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_delete_elem),
  82         BPF_EXIT_INSN(),
  83         },
  84         .fixup_map_hash_8b = { 24 },
  85         .errstr_unpriv = "R1 pointer comparison",
  86         .result_unpriv = REJECT,
  87         .result = ACCEPT,
  88         .retval = -ENOENT,
  89 },
  90 {
  91         "jump test 4",
  92         .insns = {
  93         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
  94         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
  95         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
  96         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
  97         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
  98         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
  99         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 100         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 101         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 102         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 103         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 104         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 105         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 106         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 107         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 108         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 109         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 110         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 111         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 112         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 113         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 114         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 115         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 116         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 117         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 118         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 119         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 120         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 121         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 122         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 123         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 124         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 125         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
 126         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
 127         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
 128         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
 129         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
 130         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
 131         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
 132         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
 133         BPF_MOV64_IMM(BPF_REG_0, 0),
 134         BPF_EXIT_INSN(),
 135         },
 136         .errstr_unpriv = "R1 pointer comparison",
 137         .result_unpriv = REJECT,
 138         .result = ACCEPT,
 139 },
 140 {
 141         "jump test 5",
 142         .insns = {
 143         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 144         BPF_MOV64_REG(BPF_REG_3, BPF_REG_2),
 145         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
 146         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
 147         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 148         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
 149         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 150         BPF_MOV64_IMM(BPF_REG_0, 0),
 151         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
 152         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
 153         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 154         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
 155         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 156         BPF_MOV64_IMM(BPF_REG_0, 0),
 157         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
 158         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
 159         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 160         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
 161         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 162         BPF_MOV64_IMM(BPF_REG_0, 0),
 163         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
 164         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
 165         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 166         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
 167         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 168         BPF_MOV64_IMM(BPF_REG_0, 0),
 169         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
 170         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
 171         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 172         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
 173         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 174         BPF_MOV64_IMM(BPF_REG_0, 0),
 175         BPF_EXIT_INSN(),
 176         },
 177         .errstr_unpriv = "R1 pointer comparison",
 178         .result_unpriv = REJECT,
 179         .result = ACCEPT,
 180 },
 181 {
 182         "jump test 6",
 183         .insns = {
 184         BPF_MOV64_IMM(BPF_REG_0, 1),
 185         BPF_MOV64_IMM(BPF_REG_1, 2),
 186         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 187         BPF_MOV64_IMM(BPF_REG_0, 2),
 188         BPF_EXIT_INSN(),
 189         BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
 190         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 191         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 192         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 193         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 194         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 195         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 196         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 197         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 198         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 199         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 200         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 201         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 202         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 203         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 204         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 205         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
 206         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
 207         },
 208         .result = ACCEPT,
 209         .retval = 2,
 210 },
 211 {
 212         "jump test 7",
 213         .insns = {
 214         BPF_MOV64_IMM(BPF_REG_0, 1),
 215         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 216         BPF_MOV64_IMM(BPF_REG_0, 3),
 217         BPF_EXIT_INSN(),
 218         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
 219         BPF_MOV64_IMM(BPF_REG_0, 42),
 220         BPF_MOV64_IMM(BPF_REG_0, 42),
 221         BPF_MOV64_IMM(BPF_REG_0, 42),
 222         BPF_MOV64_IMM(BPF_REG_0, 42),
 223         BPF_MOV64_IMM(BPF_REG_0, 42),
 224         BPF_MOV64_IMM(BPF_REG_0, 42),
 225         BPF_MOV64_IMM(BPF_REG_0, 42),
 226         BPF_MOV64_IMM(BPF_REG_0, 42),
 227         BPF_MOV64_IMM(BPF_REG_0, 42),
 228         BPF_MOV64_IMM(BPF_REG_0, 42),
 229         BPF_MOV64_IMM(BPF_REG_0, 42),
 230         BPF_MOV64_IMM(BPF_REG_0, 42),
 231         BPF_MOV64_IMM(BPF_REG_0, 42),
 232         BPF_MOV64_IMM(BPF_REG_0, 42),
 233         BPF_MOV64_IMM(BPF_REG_0, 42),
 234         BPF_MOV64_IMM(BPF_REG_0, 42),
 235         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
 236         },
 237         .result = ACCEPT,
 238         .retval = 3,
 239 },
 240 {
 241         "jump test 8",
 242         .insns = {
 243         BPF_MOV64_IMM(BPF_REG_0, 1),
 244         BPF_MOV64_IMM(BPF_REG_1, 2),
 245         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 246         BPF_MOV64_IMM(BPF_REG_0, 3),
 247         BPF_EXIT_INSN(),
 248         BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
 249         BPF_MOV64_IMM(BPF_REG_0, 42),
 250         BPF_MOV64_IMM(BPF_REG_0, 42),
 251         BPF_MOV64_IMM(BPF_REG_0, 42),
 252         BPF_MOV64_IMM(BPF_REG_0, 42),
 253         BPF_MOV64_IMM(BPF_REG_0, 42),
 254         BPF_MOV64_IMM(BPF_REG_0, 42),
 255         BPF_MOV64_IMM(BPF_REG_0, 42),
 256         BPF_MOV64_IMM(BPF_REG_0, 42),
 257         BPF_MOV64_IMM(BPF_REG_0, 42),
 258         BPF_MOV64_IMM(BPF_REG_0, 42),
 259         BPF_MOV64_IMM(BPF_REG_0, 42),
 260         BPF_MOV64_IMM(BPF_REG_0, 42),
 261         BPF_MOV64_IMM(BPF_REG_0, 42),
 262         BPF_MOV64_IMM(BPF_REG_0, 42),
 263         BPF_MOV64_IMM(BPF_REG_0, 42),
 264         BPF_MOV64_IMM(BPF_REG_0, 42),
 265         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
 266         },
 267         .result = ACCEPT,
 268         .retval = 3,
 269 },
 270 {
 271         "jump/call test 9",
 272         .insns = {
 273         BPF_MOV64_IMM(BPF_REG_0, 1),
 274         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
 275         BPF_MOV64_IMM(BPF_REG_0, 3),
 276         BPF_EXIT_INSN(),
 277         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
 278         BPF_MOV64_IMM(BPF_REG_0, 42),
 279         BPF_MOV64_IMM(BPF_REG_0, 42),
 280         BPF_MOV64_IMM(BPF_REG_0, 42),
 281         BPF_MOV64_IMM(BPF_REG_0, 42),
 282         BPF_MOV64_IMM(BPF_REG_0, 42),
 283         BPF_MOV64_IMM(BPF_REG_0, 42),
 284         BPF_MOV64_IMM(BPF_REG_0, 42),
 285         BPF_MOV64_IMM(BPF_REG_0, 42),
 286         BPF_MOV64_IMM(BPF_REG_0, 42),
 287         BPF_MOV64_IMM(BPF_REG_0, 42),
 288         BPF_MOV64_IMM(BPF_REG_0, 42),
 289         BPF_MOV64_IMM(BPF_REG_0, 42),
 290         BPF_MOV64_IMM(BPF_REG_0, 42),
 291         BPF_MOV64_IMM(BPF_REG_0, 42),
 292         BPF_MOV64_IMM(BPF_REG_0, 42),
 293         BPF_MOV64_IMM(BPF_REG_0, 42),
 294         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
 295         BPF_EXIT_INSN(),
 296         },
 297         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
 298         .result = REJECT,
 299         .errstr = "jump out of range from insn 1 to 4",
 300 },
 301 {
 302         "jump/call test 10",
 303         .insns = {
 304         BPF_MOV64_IMM(BPF_REG_0, 1),
 305         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
 306         BPF_MOV64_IMM(BPF_REG_0, 3),
 307         BPF_EXIT_INSN(),
 308         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
 309         BPF_MOV64_IMM(BPF_REG_0, 42),
 310         BPF_MOV64_IMM(BPF_REG_0, 42),
 311         BPF_MOV64_IMM(BPF_REG_0, 42),
 312         BPF_MOV64_IMM(BPF_REG_0, 42),
 313         BPF_MOV64_IMM(BPF_REG_0, 42),
 314         BPF_MOV64_IMM(BPF_REG_0, 42),
 315         BPF_MOV64_IMM(BPF_REG_0, 42),
 316         BPF_MOV64_IMM(BPF_REG_0, 42),
 317         BPF_MOV64_IMM(BPF_REG_0, 42),
 318         BPF_MOV64_IMM(BPF_REG_0, 42),
 319         BPF_MOV64_IMM(BPF_REG_0, 42),
 320         BPF_MOV64_IMM(BPF_REG_0, 42),
 321         BPF_MOV64_IMM(BPF_REG_0, 42),
 322         BPF_MOV64_IMM(BPF_REG_0, 42),
 323         BPF_MOV64_IMM(BPF_REG_0, 42),
 324         BPF_MOV64_IMM(BPF_REG_0, 42),
 325         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
 326         BPF_EXIT_INSN(),
 327         },
 328         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
 329         .result = REJECT,
 330         .errstr = "last insn is not an exit or jmp",
 331 },
 332 {
 333         "jump/call test 11",
 334         .insns = {
 335         BPF_MOV64_IMM(BPF_REG_0, 1),
 336         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
 337         BPF_MOV64_IMM(BPF_REG_0, 3),
 338         BPF_EXIT_INSN(),
 339         BPF_MOV64_IMM(BPF_REG_0, 3),
 340         BPF_EXIT_INSN(),
 341         BPF_MOV64_IMM(BPF_REG_0, 1),
 342         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 26),
 343         BPF_MOV64_IMM(BPF_REG_0, 42),
 344         BPF_MOV64_IMM(BPF_REG_0, 42),
 345         BPF_MOV64_IMM(BPF_REG_0, 42),
 346         BPF_MOV64_IMM(BPF_REG_0, 42),
 347         BPF_MOV64_IMM(BPF_REG_0, 42),
 348         BPF_MOV64_IMM(BPF_REG_0, 42),
 349         BPF_MOV64_IMM(BPF_REG_0, 42),
 350         BPF_MOV64_IMM(BPF_REG_0, 42),
 351         BPF_MOV64_IMM(BPF_REG_0, 42),
 352         BPF_MOV64_IMM(BPF_REG_0, 42),
 353         BPF_MOV64_IMM(BPF_REG_0, 42),
 354         BPF_MOV64_IMM(BPF_REG_0, 42),
 355         BPF_MOV64_IMM(BPF_REG_0, 42),
 356         BPF_MOV64_IMM(BPF_REG_0, 42),
 357         BPF_MOV64_IMM(BPF_REG_0, 42),
 358         BPF_MOV64_IMM(BPF_REG_0, 42),
 359         BPF_MOV64_IMM(BPF_REG_0, 42),
 360         BPF_MOV64_IMM(BPF_REG_0, 42),
 361         BPF_MOV64_IMM(BPF_REG_0, 42),
 362         BPF_MOV64_IMM(BPF_REG_0, 42),
 363         BPF_MOV64_IMM(BPF_REG_0, 42),
 364         BPF_MOV64_IMM(BPF_REG_0, 42),
 365         BPF_MOV64_IMM(BPF_REG_0, 42),
 366         BPF_MOV64_IMM(BPF_REG_0, 42),
 367         BPF_MOV64_IMM(BPF_REG_0, 42),
 368         BPF_MOV64_IMM(BPF_REG_0, 42),
 369         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -31),
 370         BPF_EXIT_INSN(),
 371         },
 372         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
 373         .result = ACCEPT,
 374         .retval = 3,
 375 },

/* [<][>][^][v][top][bottom][index][help] */