Lines Matching +full:pre +full:- +full:verified
25 "calls: invalid kfunc call: ptr_to_mem to struct with non-scalar",
28 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
43 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
58 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
70 "calls: invalid kfunc call: reg->type != PTR_TO_CTX",
73 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
88 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
100 "calls: trigger reg2btf_ids[reg->type] for reg->type > __BPF_REG_TYPE_MAX",
103 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
119 "calls: invalid kfunc call: reg->off must be zero when passed to release kfunc",
122 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
165 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
172 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -4),
188 .errstr = "ptr R1 off=-4 disallowed",
194 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
229 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
256 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
384 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
386 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
416 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
417 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
418 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
440 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, -1, 2),
453 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -1),
504 BPF_JMP_IMM(BPF_JA, 0, 0, -6),
506 BPF_JMP_IMM(BPF_JA, 0, 0, -6),
509 .errstr_unpriv = "back-edge from insn",
524 BPF_JMP_IMM(BPF_JA, 0, 0, -5),
541 BPF_JMP_IMM(BPF_JA, 0, 0, -6),
555 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, -3),
642 .retval = TEST_DATA_LEN + TEST_DATA_LEN - ETH_HLEN - ETH_HLEN,
674 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
676 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
721 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -64),
724 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -64),
727 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -64),
740 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -63),
743 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -61),
746 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -63),
763 BPF_JMP_IMM(BPF_JA, 0, 0, -3),
777 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -3),
799 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, -3),
811 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -1),
823 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -3),
851 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -4),
876 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, -3),
904 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, -2),
986 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
988 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1009 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1011 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1013 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1015 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_10, -16),
1040 "calls: stack overflow using two frames (pre-call access)",
1043 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1048 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1057 "calls: stack overflow using two frames (post-call access)",
1061 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1065 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1079 BPF_ST_MEM(BPF_B, BPF_REG_10, -32, 0),
1083 BPF_ST_MEM(BPF_B, BPF_REG_10, -256, 0),
1086 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -3), /* call A */
1087 BPF_ST_MEM(BPF_B, BPF_REG_10, -64, 0),
1102 BPF_ST_MEM(BPF_B, BPF_REG_10, -32, 0),
1106 BPF_ST_MEM(BPF_B, BPF_REG_10, -64, 0),
1109 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -3), /* call A */
1110 BPF_ST_MEM(BPF_B, BPF_REG_10, -256, 0),
1128 BPF_ST_MEM(BPF_B, BPF_REG_10, -64, 0),
1134 BPF_ST_MEM(BPF_B, BPF_REG_10, -224, 0),
1135 BPF_JMP_IMM(BPF_JA, 0, 0, -3),
1138 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -6), /* call A */
1139 BPF_ST_MEM(BPF_B, BPF_REG_10, -256, 0),
1158 * frame_pointer[-300] = 1;
1165 * frame_pointer[-300] = 1;
1181 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1187 BPF_ST_MEM(BPF_B, BPF_REG_10, -300, 0),
1270 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1272 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1287 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1307 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, -8),
1318 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1320 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1322 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1324 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_10, -16),
1366 /* pass fp-16, fp-8 into a function */
1368 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1370 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1374 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_10, -8),
1379 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_10, -16),
1390 /* first time with fp-8 */
1393 /* second time with fp-16 */
1400 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1402 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1418 /* pass fp-16, fp-8 into a function */
1420 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1422 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1431 /* first time with fp-8 */
1439 /* second time with fp-16 */
1451 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1453 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1472 /* pass fp-16, fp-8 into a function */
1474 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1476 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1485 /* first time with fp-8 */
1493 /* second time with fp-16 */
1505 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1507 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1523 .errstr_unpriv = "invalid read from stack R7 off=-16 size=8",
1529 /* pass fp-16, fp-8 into a function */
1531 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1533 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1542 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1544 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1550 /* write map_value_ptr into stack frame of main prog at fp-8 */
1556 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1563 /* write map_value_ptr into stack frame of main prog at fp-16 */
1567 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
1601 /* pass fp-16, fp-8 into a function */
1603 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1605 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1614 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1616 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1622 /* write map_value_ptr into stack frame of main prog at fp-8 */
1628 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1635 /* write map_value_ptr into stack frame of main prog at fp-16 */
1639 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
1671 /* pass fp-16, fp-8 into a function */
1673 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1675 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1684 BPF_ST_MEM(BPF_DW, BPF_REG_10, -24, 0),
1686 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -24),
1692 /* write map_value_ptr into stack frame of main prog at fp-8 */
1698 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -24),
1704 /* write map_value_ptr into stack frame of main prog at fp-16 */
1708 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
1714 BPF_JMP_IMM(BPF_JA, 0, 0, -30),
1730 BPF_JMP_IMM(BPF_JA, 0, 0, -8),
1742 /* pass fp-16, fp-8 into a function */
1744 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1746 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1755 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1757 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1760 /* write map_value_ptr_or_null into stack frame of main prog at fp-8 */
1769 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1772 /* write map_value_ptr_or_null into stack frame of main prog at fp-16 */
1779 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
1811 /* pass fp-16, fp-8 into a function */
1813 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -8),
1815 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
1824 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
1826 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1829 /* write map_value_ptr_or_null into stack frame of main prog at fp-8 */
1838 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
1841 /* write map_value_ptr_or_null into stack frame of main prog at fp-16 */
1848 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
1881 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
1895 /* now the pkt range is verified, read pkt_ptr from stack */
1910 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
1913 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
1927 /* now the pkt range is verified, read pkt_ptr from stack */
1942 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
1946 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
1962 /* now the pkt range is verified, read pkt_ptr from stack */
1978 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
1982 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2013 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
2016 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2049 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
2052 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2084 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
2087 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2126 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
2129 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2167 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, -8),
2170 BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
2201 BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -8),
2203 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
2206 BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_10, -8),
2215 /* else bpf_map_lookup() and *(fp - 8) = r0 */
2218 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
2220 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
2222 /* write map_value_ptr_or_null into stack frame of main prog at fp-8 */
2234 BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, 0),
2236 * of JGT insn will be verified second and it skisp zero
2237 * init of fp-8 stack slot. If stack liveness marking
2240 * that fp-8 stack slot was unused in the fall-through
2245 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
2248 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
2255 .errstr_unpriv = "invalid indirect read from stack R2 off -8+0 size 8",
2306 "calls: cross frame pruning - liveness propagation",
2337 BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
2338 /* fp[-24] = map_lookup_elem(...) ; get a MAP_VALUE_PTR_OR_NULL with some ID */
2340 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
2344 BPF_STX_MEM(BPF_DW, BPF_REG_FP, BPF_REG_0, -24),
2345 /* fp[-32] = map_lookup_elem(...) ; get a MAP_VALUE_PTR_OR_NULL with some ID */
2347 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
2351 BPF_STX_MEM(BPF_DW, BPF_REG_FP, BPF_REG_0, -32),
2352 /* call foo(&fp[-24], &fp[-32]) ; both arguments have IDs in the current
2356 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -24),
2358 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -32),
2365 * r9 = &frame[0].fp[-24] ; save arguments in the callee saved registers,
2366 * r8 = &frame[0].fp[-32] ; arguments are pointers to pointers to map value
2384 * ; (I) one including r9 = r8, verified first;
2385 * ; (II) one excluding r9 = r8, verified next.
2386 * ; After load of *r9 to r9 the frame[0].fp[-24].id == r9.id.
2389 * ; frame[0].fp[-24].id, otherwise (I) and (II) would be