Lines Matching +full:1 +full:ff80
40 # define CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 1
54 #define F_NEEDS_EFFICIENT_UNALIGNED_ACCESS (1 << 0)
55 #define F_LOAD_WITH_STRICT_ALIGNMENT (1 << 1)
115 insn[i++] = BPF_MOV64_IMM(BPF_REG_2, 1); in bpf_fill_ld_abs_vlan_push_pop()
136 for (; i < len - 1; i++) in bpf_fill_ld_abs_vlan_push_pop()
138 insn[len - 1] = BPF_EXIT_INSN(); in bpf_fill_ld_abs_vlan_push_pop()
151 while (i < len - 1) in bpf_fill_jump_around_ld_abs()
152 insn[i++] = BPF_LD_ABS(BPF_B, 1); in bpf_fill_jump_around_ld_abs()
169 insn[i++] = tmp[1]; in bpf_fill_rand_ld_dw()
184 BPF_MOV64_IMM(BPF_REG_1, 1),
188 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -1),
197 "DIV32 by 0, zero check 1",
201 BPF_MOV32_IMM(BPF_REG_2, 1),
213 BPF_MOV32_IMM(BPF_REG_2, 1),
225 BPF_MOV32_IMM(BPF_REG_2, 1),
233 "MOD32 by 0, zero check 1",
237 BPF_MOV32_IMM(BPF_REG_2, 1),
249 BPF_MOV32_IMM(BPF_REG_2, 1),
261 BPF_MOV32_IMM(BPF_REG_2, 1),
283 "DIV32 by 0, zero check 1, cls",
286 BPF_MOV32_IMM(BPF_REG_0, 1),
298 BPF_MOV32_IMM(BPF_REG_0, 1),
310 BPF_MOV32_IMM(BPF_REG_0, 1),
333 "MOD32 by 0, zero check 1, cls",
336 BPF_MOV32_IMM(BPF_REG_0, 1),
342 .retval = 1,
348 BPF_MOV32_IMM(BPF_REG_0, 1),
354 .retval = 1,
357 "MOD64 by 0, zero check 1, cls",
372 BPF_MOV32_IMM(BPF_REG_0, -1),
378 .retval = -1,
381 * an exception from INT_MIN/-1 overflow similarly as with div
385 "DIV32 overflow, check 1",
387 BPF_MOV32_IMM(BPF_REG_1, -1),
400 BPF_ALU32_IMM(BPF_DIV, BPF_REG_0, -1),
408 "DIV64 overflow, check 1",
410 BPF_MOV64_IMM(BPF_REG_1, -1),
423 BPF_ALU64_IMM(BPF_DIV, BPF_REG_0, -1),
431 "MOD32 overflow, check 1",
433 BPF_MOV32_IMM(BPF_REG_1, -1),
446 BPF_ALU32_IMM(BPF_MOD, BPF_REG_0, -1),
454 "MOD64 overflow, check 1",
456 BPF_MOV64_IMM(BPF_REG_1, -1),
461 BPF_JMP_REG(BPF_JNE, BPF_REG_3, BPF_REG_2, 1),
462 BPF_MOV32_IMM(BPF_REG_0, 1),
467 .retval = 1,
474 BPF_ALU64_IMM(BPF_MOD, BPF_REG_2, -1),
476 BPF_JMP_REG(BPF_JNE, BPF_REG_3, BPF_REG_2, 1),
477 BPF_MOV32_IMM(BPF_REG_0, 1),
482 .retval = 1,
487 BPF_MOV32_IMM(BPF_REG_2, -1),
492 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 0, 1),
493 BPF_MOV32_IMM(BPF_REG_0, 1),
498 .retval = 1,
527 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
537 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
555 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
558 BPF_LD_IMM64(BPF_REG_0, 1),
559 BPF_LD_IMM64(BPF_REG_0, 1),
570 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
573 BPF_LD_IMM64(BPF_REG_0, 1),
574 BPF_LD_IMM64(BPF_REG_0, 1),
584 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
588 BPF_LD_IMM64(BPF_REG_0, 1),
589 BPF_LD_IMM64(BPF_REG_0, 1),
624 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),
625 BPF_RAW_INSN(0, 0, 0, 0, 1),
629 .retval = 1,
634 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 1, 1),
635 BPF_RAW_INSN(0, 0, 0, 0, 1),
644 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),
645 BPF_RAW_INSN(0, 0, 0, 1, 1),
654 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),
655 BPF_RAW_INSN(0, BPF_REG_1, 0, 0, 1),
664 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),
665 BPF_RAW_INSN(0, 0, BPF_REG_1, 0, 1),
675 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1),
676 BPF_RAW_INSN(0, 0, 0, 0, 1),
686 BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1),
687 BPF_RAW_INSN(0, 0, BPF_REG_1, 0, 1),
696 BPF_MOV64_IMM(BPF_REG_0, 1),
706 BPF_MOV64_IMM(BPF_REG_0, 1),
717 BPF_MOV64_IMM(BPF_REG_0, 1),
726 BPF_MOV64_IMM(BPF_REG_0, 1),
744 BPF_JMP_IMM(BPF_JA, 0, 0, -1),
786 BPF_MOV64_REG(BPF_REG_0, -1),
805 BPF_MOV64_IMM(BPF_REG_0, 1),
834 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 1, 0),
970 BPF_STX_MEM(BPF_B, BPF_REG_10, -1, -1),
979 BPF_STX_MEM(BPF_B, 14, BPF_REG_10, -1),
988 BPF_ST_MEM(BPF_B, 14, -1, -1),
1024 BPF_RAW_INSN(1, 0, 0, 0, 0),
1033 BPF_RAW_INSN(-1, 0, 0, 0, 0),
1042 BPF_RAW_INSN(-1, -1, -1, -1, -1),
1051 BPF_RAW_INSN(0x7f, -1, -1, -1, -1),
1106 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
1127 BPF_ST_MEM(BPF_DW, BPF_REG_0, 0, 1),
1137 "jump test 1",
1141 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
1143 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 1),
1144 BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 1),
1145 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 1),
1147 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 1),
1149 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 1),
1151 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
1167 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 2),
1179 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
1196 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 3),
1229 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1233 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1237 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1241 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1245 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1249 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1253 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1257 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1261 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
1322 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
1325 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
1328 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
1367 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
1392 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
1416 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
1532 offsetof(struct __sk_buff, remote_ip6[1])),
1548 offsetof(struct __sk_buff, local_ip6[1])),
1643 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
1660 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
1680 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
1744 offsetof(struct sk_msg_md, remote_ip6[1])),
1760 offsetof(struct sk_msg_md, local_ip6[1])),
1796 offsetof(struct sk_msg_md, family) + 1),
1812 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
1829 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
1849 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
1886 offsetof(struct __sk_buff, cb[0]) + 1),
1892 offsetof(struct __sk_buff, cb[1])),
1894 offsetof(struct __sk_buff, cb[1]) + 1),
1896 offsetof(struct __sk_buff, cb[1]) + 2),
1898 offsetof(struct __sk_buff, cb[1]) + 3),
1902 offsetof(struct __sk_buff, cb[2]) + 1),
1910 offsetof(struct __sk_buff, cb[3]) + 1),
1918 offsetof(struct __sk_buff, cb[4]) + 1),
1926 offsetof(struct __sk_buff, cb[0]) + 1),
1932 offsetof(struct __sk_buff, cb[1])),
1934 offsetof(struct __sk_buff, cb[1]) + 1),
1936 offsetof(struct __sk_buff, cb[1]) + 2),
1938 offsetof(struct __sk_buff, cb[1]) + 3),
1942 offsetof(struct __sk_buff, cb[2]) + 1),
1950 offsetof(struct __sk_buff, cb[3]) + 1),
1958 offsetof(struct __sk_buff, cb[4]) + 1),
2005 "check skb->hash byte load permitted 1",
2009 offsetof(struct __sk_buff, hash) + 1),
2060 offsetof(struct __sk_buff, cb[1])),
2062 offsetof(struct __sk_buff, cb[1]) + 2),
2080 offsetof(struct __sk_buff, cb[1])),
2082 offsetof(struct __sk_buff, cb[1]) + 2),
2104 offsetof(struct __sk_buff, cb[0]) + 1),
2164 "check skb->hash half load not permitted, unaligned 1",
2169 offsetof(struct __sk_buff, hash) + 1),
2188 offsetof(struct __sk_buff, hash) + 1),
2214 offsetof(struct __sk_buff, cb[1])),
2224 offsetof(struct __sk_buff, cb[1])),
2236 "check cb access: word, unaligned 1",
2252 offsetof(struct __sk_buff, cb[4]) + 1),
2300 "check cb access: double, unaligned 1",
2304 offsetof(struct __sk_buff, cb[1])),
2324 "check cb access: double, oob 1",
2396 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
2401 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
2609 "unpriv: mangle pointer on stack 1",
2624 BPF_ST_MEM(BPF_B, BPF_REG_10, -1, 0),
2704 BPF_MOV64_IMM(BPF_REG_0, 1),
2726 BPF_JMP_IMM(BPF_JNE, BPF_REG_1, 0, 1),
2749 BPF_JMP_IMM(BPF_JNE, BPF_REG_1, 0, 1),
2771 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
2784 BPF_ALU32_IMM(BPF_AND, BPF_REG_7, 1),
2786 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
2814 .fixup_prog1 = { 1 },
2828 .fixup_map1 = { 1 },
2913 BPF_MOV64_IMM(BPF_REG_0, 1),
2916 .fixup_prog1 = { 1 },
2923 BPF_MOV64_IMM(BPF_REG_3, 1),
2927 BPF_MOV64_IMM(BPF_REG_0, 1),
2930 .fixup_prog1 = { 1 },
2941 BPF_MOV64_IMM(BPF_REG_0, 1),
2944 .fixup_prog1 = { 1 },
2946 .retval = 1,
2958 .fixup_prog1 = { 1 },
2965 BPF_MOV64_IMM(BPF_REG_3, -1),
2972 .fixup_prog1 = { 1 },
3211 "raw_stack: skb_load_bytes, invalid access 1",
3232 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, -1),
3241 .errstr = "invalid stack type R3 off=-1 access_size=8",
3266 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, -1),
3360 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3371 BPF_MOV64_IMM(BPF_REG_0, 1),
3394 BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 1),
3423 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3441 BPF_MOV64_IMM(BPF_REG_0, 1),
3461 BPF_MOV64_IMM(BPF_REG_0, 1),
3481 BPF_MOV64_IMM(BPF_REG_0, 1),
3492 "direct packet access: test8 (double test, variant 1)",
3501 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3503 BPF_MOV64_IMM(BPF_REG_0, 1),
3522 BPF_MOV64_IMM(BPF_REG_0, 1),
3524 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3569 BPF_MOV64_IMM(BPF_REG_0, 1),
3576 .retval = 1,
3594 BPF_MOV64_IMM(BPF_REG_0, 1),
3601 .retval = 1,
3615 BPF_MOV64_IMM(BPF_REG_4, 1),
3618 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
3625 BPF_MOV64_IMM(BPF_REG_0, 1),
3632 .retval = 1,
3649 BPF_MOV64_IMM(BPF_REG_0, 1),
3656 .retval = 1,
3692 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3712 BPF_JMP_IMM(BPF_JGT, BPF_REG_7, 1, 4),
3713 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3717 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 1),
3726 "direct packet access: test18 (imm += pkt_ptr, 1)",
3734 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3762 "direct packet access: test20 (x += pkt_ptr, 1)",
3775 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, 0x7fff - 1),
3776 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
3800 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, 0x7fff - 1),
3801 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
3831 BPF_MOV64_IMM(BPF_REG_2, 1),
3855 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0xffff - 1),
3856 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3863 .errstr = "invalid access to packet, off=0 size=8, R5(id=1,off=0,r=0)",
3881 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0x7fff - 1),
3882 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
3936 BPF_JMP_REG(BPF_JLE, BPF_REG_3, BPF_REG_0, 1),
3938 BPF_MOV64_IMM(BPF_REG_0, 1),
3943 .retval = 1,
3955 BPF_MOV64_IMM(BPF_REG_0, 1),
3998 .fixup_map1 = { 1 },
4060 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, 1),
4108 .fixup_map1 = { 1 },
4170 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, 1),
4186 "helper access to packet: test11, cls unsuitable helper 1",
4192 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4236 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4260 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4284 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4303 "helper access to packet: test16, cls helper fail range 1",
4309 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4334 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4359 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4384 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4408 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4433 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, 1),
4459 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4527 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 0xffffffff, 1),
4530 BPF_JMP_REG(BPF_JSGT, BPF_REG_2, BPF_REG_1, 1),
4553 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4554 BPF_ST_MEM(BPF_DW, BPF_REG_0, (MAX_ENTRIES + 1) << 2,
4572 BPF_MOV64_IMM(BPF_REG_1, MAX_ENTRIES + 1),
4618 BPF_JMP_REG(BPF_JSGT, BPF_REG_2, BPF_REG_1, 1),
4644 BPF_MOV32_IMM(BPF_REG_2, MAX_ENTRIES + 1),
4645 BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 1),
4697 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
4700 .fixup_cgroup_storage = { 1 },
4705 "invalid cgroup storage access 1",
4713 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
4716 .fixup_map1 = { 1 },
4718 .errstr = "cannot pass map_type 1 into func bpf_get_local_storage",
4725 BPF_LD_MAP_FD(BPF_REG_1, 1),
4728 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
4732 .errstr = "fd 1 is not pointing to valid bpf_map",
4743 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 1),
4747 .fixup_cgroup_storage = { 1 },
4761 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 1),
4764 .fixup_cgroup_storage = { 1 },
4778 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
4781 .fixup_cgroup_storage = { 1 },
4795 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
4798 .fixup_cgroup_storage = { 1 },
4814 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4823 "alu ops on ptr_to_map_value_or_null, 1",
4835 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4855 BPF_ALU64_IMM(BPF_AND, BPF_REG_4, -1),
4856 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4876 BPF_ALU64_IMM(BPF_LSH, BPF_REG_4, 1),
4877 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4903 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4931 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
4949 BPF_JMP_IMM(BPF_JGE, BPF_REG_1, MAX_ENTRIES-1, 1),
4950 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 1),
5032 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5050 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5068 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5085 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5102 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5119 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
5139 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
5196 "leak pointer into ctx 1",
5236 .fixup_map1 = { 1 },
5483 BPF_MOV64_IMM(BPF_REG_2, -1),
5621 BPF_MOV64_IMM(BPF_REG_2, -1),
5714 BPF_MOV64_IMM(BPF_REG_2, 1),
5740 offsetof(struct test_val, foo) + 1),
6071 "map helper access to adjusted map (via const imm): out-of-bound 1",
6133 "map helper access to adjusted map (via const reg): out-of-bound 1",
6230 offsetof(struct other_val, bar) + 1, 4),
6292 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
6365 "map element value illegal alu op, 1",
6613 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, 1),
6739 sizeof(struct test_val) + 1, 4),
6825 BPF_MOV64_IMM(BPF_REG_2, 1),
6966 BPF_MOV64_IMM(BPF_REG_2, 1),
7061 BPF_MOV64_IMM(BPF_REG_2, 1),
7065 BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, 1),
7135 BPF_MOV64_IMM(BPF_REG_9, 1),
7137 BPF_ALU32_IMM(BPF_ADD, BPF_REG_1, 1),
7139 BPF_ALU32_IMM(BPF_ADD, BPF_REG_9, 1),
7140 BPF_ALU32_IMM(BPF_RSH, BPF_REG_9, 1),
7141 BPF_MOV32_IMM(BPF_REG_3, 1),
7303 BPF_MOV64_IMM(BPF_REG_2, 1),
7322 BPF_MOV64_IMM(BPF_REG_1, 1),
7334 BPF_MOV64_IMM(BPF_REG_2, 1),
7346 BPF_MOV64_IMM(BPF_REG_3, 1),
7358 BPF_MOV64_IMM(BPF_REG_4, 1),
7370 BPF_MOV64_IMM(BPF_REG_5, 1),
7382 BPF_MOV64_IMM(BPF_REG_7, 1),
7388 .retval = 1,
7518 BPF_MOV64_IMM(BPF_REG_2, -1),
7520 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7542 BPF_MOV64_IMM(BPF_REG_2, -1),
7546 BPF_JMP_IMM(BPF_JSGT, BPF_REG_8, 1, 2),
7568 BPF_MOV64_IMM(BPF_REG_2, -1),
7571 BPF_JMP_IMM(BPF_JSGT, BPF_REG_8, 1, 2),
7593 BPF_MOV64_IMM(BPF_REG_2, 1),
7595 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7616 BPF_MOV64_IMM(BPF_REG_2, -1),
7618 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 4),
7637 BPF_MOV64_IMM(BPF_REG_6, -1),
7639 BPF_JMP_IMM(BPF_JSGT, BPF_REG_4, 1, 4),
7640 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, 1),
7665 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7686 BPF_MOV64_IMM(BPF_REG_2, -1),
7690 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7716 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7741 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7763 BPF_MOV64_IMM(BPF_REG_2, -1),
7768 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7794 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7818 BPF_MOV64_IMM(BPF_REG_7, 1),
7847 BPF_MOV64_IMM(BPF_REG_2, -1),
7851 BPF_JMP_IMM(BPF_JSGT, BPF_REG_1, 1, 2),
7880 BPF_JMP_IMM(BPF_JGT, BPF_REG_0, 1, 2),
7893 "subtraction bounds (map value) variant 1",
7904 BPF_LDX_MEM(BPF_B, BPF_REG_3, BPF_REG_0, 1),
7930 BPF_LDX_MEM(BPF_B, BPF_REG_3, BPF_REG_0, 1),
8033 BPF_ALU64_IMM(BPF_AND, BPF_REG_6, 1),
8034 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, (1 << 29) - 1),
8036 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, (1 << 29) - 1),
8058 BPF_ALU64_IMM(BPF_AND, BPF_REG_6, 1),
8059 BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, (1 << 30) - 1),
8061 BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, (1 << 29) - 1),
8083 BPF_MOV64_IMM(BPF_REG_2, 1),
8106 "bounds check after truncation of boundary-crossing range (1)",
8117 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
8118 /* r1 = [0xffff'ff80, 0x1'0000'007f] */
8119 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
8120 /* r1 = [0xffff'ff80, 0xffff'ffff] or
8124 BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
8128 BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
8158 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
8159 /* r1 = [0xffff'ff80, 0x1'0000'007f] */
8160 BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
8161 /* r1 = [0xffff'ff80, 0xffff'ffff] or
8167 BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
8171 BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
8227 BPF_MOV64_IMM(BPF_REG_1, 1),
8228 /* r1 = (u32)1 << (u32)32 = ? */
8257 BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 1),
8283 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
8303 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
8326 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
8348 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
8362 "pointer/scalar confusion in state equality check (way 1)",
8372 BPF_JMP_A(1),
8394 BPF_JMP_A(1),
8517 BPF_JMP_IMM(BPF_JGE, BPF_REG_2, 0, 1),
8519 BPF_JMP_IMM(BPF_JGE, BPF_REG_2, 0, 1),
8539 BPF_JMP_REG(BPF_JSGT, BPF_REG_2, BPF_REG_1, 1),
8577 BPF_JMP_IMM(BPF_JLT, BPF_REG_2, 1, 1),
8578 BPF_MOV64_IMM(BPF_REG_0, 1),
8583 .retval = 1,
8594 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
8613 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
8631 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
8651 BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_3, 1),
8692 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_0, 1),
8712 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
8729 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
8746 BPF_ALU64_IMM(BPF_ADD, BPF_REG_4, 1),
8747 BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_3, 1),
8775 BPF_JMP_REG(BPF_JGT, BPF_REG_6, BPF_REG_5, 1),
8801 BPF_JMP_REG(BPF_JGT, BPF_REG_6, BPF_REG_3, 1),
8824 BPF_JMP_REG(BPF_JGT, BPF_REG_5, BPF_REG_3, 1),
8861 "XDP pkt read, pkt_end mangling, bad access 1",
8870 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
8889 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
8907 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
8916 "XDP pkt read, pkt_data' > pkt_end, bad access 1",
8924 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
8961 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
8962 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
8972 "XDP pkt read, pkt_end > pkt_data', bad access 1",
8980 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
8981 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
8999 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
9017 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9018 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9028 "XDP pkt read, pkt_data' < pkt_end, bad access 1",
9036 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9037 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9055 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9073 BPF_JMP_REG(BPF_JLT, BPF_REG_3, BPF_REG_1, 1),
9082 "XDP pkt read, pkt_end < pkt_data', bad access 1",
9090 BPF_JMP_REG(BPF_JLT, BPF_REG_3, BPF_REG_1, 1),
9127 BPF_JMP_REG(BPF_JGE, BPF_REG_1, BPF_REG_3, 1),
9137 "XDP pkt read, pkt_data' >= pkt_end, bad access 1",
9145 BPF_JMP_REG(BPF_JGE, BPF_REG_1, BPF_REG_3, 1),
9182 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9183 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9192 "XDP pkt read, pkt_end >= pkt_data', bad access 1",
9200 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9201 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9220 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9238 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9239 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9248 "XDP pkt read, pkt_data' <= pkt_end, bad access 1",
9256 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9257 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9276 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9294 BPF_JMP_REG(BPF_JLE, BPF_REG_3, BPF_REG_1, 1),
9304 "XDP pkt read, pkt_end <= pkt_data', bad access 1",
9312 BPF_JMP_REG(BPF_JLE, BPF_REG_3, BPF_REG_1, 1),
9349 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
9358 "XDP pkt read, pkt_meta' > pkt_data, bad access 1",
9366 BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_3, 1),
9403 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
9404 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9414 "XDP pkt read, pkt_data > pkt_meta', bad access 1",
9422 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
9423 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9441 BPF_JMP_REG(BPF_JGT, BPF_REG_3, BPF_REG_1, 1),
9459 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9460 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9470 "XDP pkt read, pkt_meta' < pkt_data, bad access 1",
9478 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9479 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9497 BPF_JMP_REG(BPF_JLT, BPF_REG_1, BPF_REG_3, 1),
9515 BPF_JMP_REG(BPF_JLT, BPF_REG_3, BPF_REG_1, 1),
9524 "XDP pkt read, pkt_data < pkt_meta', bad access 1",
9532 BPF_JMP_REG(BPF_JLT, BPF_REG_3, BPF_REG_1, 1),
9569 BPF_JMP_REG(BPF_JGE, BPF_REG_1, BPF_REG_3, 1),
9579 "XDP pkt read, pkt_meta' >= pkt_data, bad access 1",
9587 BPF_JMP_REG(BPF_JGE, BPF_REG_1, BPF_REG_3, 1),
9624 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9625 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9634 "XDP pkt read, pkt_data >= pkt_meta', bad access 1",
9642 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9643 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9662 BPF_JMP_REG(BPF_JGE, BPF_REG_3, BPF_REG_1, 1),
9680 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9681 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9690 "XDP pkt read, pkt_meta' <= pkt_data, bad access 1",
9698 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9699 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
9718 BPF_JMP_REG(BPF_JLE, BPF_REG_1, BPF_REG_3, 1),
9736 BPF_JMP_REG(BPF_JLE, BPF_REG_3, BPF_REG_1, 1),
9746 "XDP pkt read, pkt_data <= pkt_meta', bad access 1",
9754 BPF_JMP_REG(BPF_JLE, BPF_REG_3, BPF_REG_1, 1),
9783 "check deducing bounds from const, 1",
9785 BPF_MOV64_IMM(BPF_REG_0, 1),
9786 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 1, 0),
9797 BPF_MOV64_IMM(BPF_REG_0, 1),
9798 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 1, 1),
9800 BPF_JMP_IMM(BPF_JSLE, BPF_REG_0, 1, 1),
9808 .retval = 1,
9827 BPF_JMP_IMM(BPF_JSLE, BPF_REG_0, 0, 1),
9829 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 0, 1),
9842 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 1, 1),
9854 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 0, 1),
9881 BPF_JMP_IMM(BPF_JSGE, BPF_REG_0, 0, 1),
9930 BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 1),
9950 BPF_MOV64_IMM(BPF_REG_0, 1),
9991 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
9992 BPF_MOV64_IMM(BPF_REG_0, 1),
10003 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10004 BPF_MOV64_IMM(BPF_REG_0, 1),
10012 .retval = 1,
10018 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 8),
10024 BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 1),
10026 BPF_MOV64_IMM(BPF_REG_0, 1),
10029 BPF_MOV32_IMM(BPF_REG_3, 1),
10037 .retval = 1,
10040 "calls: multiple ret types in subprog 1",
10043 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 8),
10049 BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 1),
10051 BPF_MOV64_IMM(BPF_REG_0, 1),
10055 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
10067 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 8),
10073 BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 1),
10075 BPF_MOV64_IMM(BPF_REG_0, 1),
10087 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
10101 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 0),
10102 BPF_MOV64_IMM(BPF_REG_0, 1),
10114 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
10115 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
10116 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -2),
10117 BPF_MOV64_IMM(BPF_REG_0, 1),
10128 BPF_MOV64_IMM(BPF_REG_0, 1),
10138 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, -1, 2),
10139 BPF_MOV64_IMM(BPF_REG_0, 1),
10151 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -1),
10152 BPF_MOV64_IMM(BPF_REG_0, 1),
10165 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10166 BPF_MOV64_IMM(BPF_REG_0, 1),
10181 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
10182 BPF_MOV64_IMM(BPF_REG_0, 1),
10199 BPF_MOV64_IMM(BPF_REG_0, 1),
10201 BPF_MOV64_IMM(BPF_REG_0, 1),
10216 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
10217 BPF_MOV64_IMM(BPF_REG_0, 1),
10219 BPF_MOV64_IMM(BPF_REG_0, 1),
10233 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
10234 BPF_MOV64_IMM(BPF_REG_0, 1),
10236 BPF_MOV64_IMM(BPF_REG_0, 1),
10248 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10262 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10273 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10284 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10297 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10310 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10327 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10348 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10369 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10372 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 6),
10375 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10392 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10395 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10411 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10414 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10432 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
10446 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
10447 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -3),
10451 .errstr = "jump out of range from insn 1 to 4",
10457 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10460 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 6),
10463 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10479 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10481 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -1),
10491 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10493 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -3),
10503 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10505 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10519 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10521 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -4),
10531 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10533 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 0x7fffffff),
10543 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10557 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10569 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10571 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10583 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10584 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10597 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10598 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10617 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 5),
10623 BPF_MOV64_IMM(BPF_REG_2, 1),
10636 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10639 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 6),
10642 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10660 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10663 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 6),
10666 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10685 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10689 /* subprog 1 */
10692 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 7),
10695 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
10713 /* prog 1 */
10715 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1),
10730 /* prog 1 */
10731 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 2),
10748 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 4), /* call A */
10749 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 5), /* call B */
10757 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -3), /* call A */
10771 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 4), /* call A */
10772 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 5), /* call B */
10780 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -3), /* call A */
10795 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 6), /* call A */
10797 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 8), /* call B */
10798 BPF_JMP_IMM(BPF_JGE, BPF_REG_6, 0, 1),
10803 BPF_JMP_IMM(BPF_JLT, BPF_REG_1, 10, 1),
10808 BPF_JMP_IMM(BPF_JGT, BPF_REG_1, 2, 1),
10809 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, -6), /* call A */
10824 * func1(1);
10825 * func2(1);
10829 * frame_pointer[-300] = 1;
10836 * frame_pointer[-300] = 1;
10843 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 6), /* call A */
10844 BPF_MOV64_IMM(BPF_REG_1, 1),
10845 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 4), /* call A */
10846 BPF_MOV64_IMM(BPF_REG_1, 1),
10847 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 7), /* call B */
10854 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call B */
10857 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
10869 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call A */
10872 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call B */
10875 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call C */
10878 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call D */
10881 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call E */
10884 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call F */
10887 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call G */
10890 BPF_RAW_INSN(BPF_JMP|BPF_CALL, 0, 1, 0, 1), /* call H */
10906 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10922 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10936 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10956 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10960 /* subprog 1 */
10963 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
10965 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
10980 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 5),
10983 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
10986 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
11004 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 8),
11008 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
11013 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
11019 /* subprog 1 */
11024 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11027 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
11057 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11061 /* subprog 1 */
11066 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 9),
11067 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 1, 2),
11074 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
11075 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 1, 2),
11096 BPF_MOV64_IMM(BPF_REG_0, 1),
11097 BPF_EXIT_INSN(), /* return 1 */
11112 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11116 /* subprog 1 */
11121 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 9),
11122 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 1, 2),
11129 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
11151 BPF_MOV64_IMM(BPF_REG_0, 1),
11152 BPF_EXIT_INSN(), /* return 1 */
11168 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11172 /* subprog 1 */
11175 /* 1st lookup from map */
11187 BPF_MOV64_IMM(BPF_REG_8, 1),
11200 BPF_MOV64_IMM(BPF_REG_9, 1),
11202 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
11207 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1), /* 34 */
11211 /* if arg2 == 1 do *arg1 = 0 */
11212 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 1, 2),
11218 /* if arg4 == 1 do *arg3 = 0 */
11219 BPF_JMP_IMM(BPF_JNE, BPF_REG_4, 1, 2),
11240 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11244 /* subprog 1 */
11247 /* 1st lookup from map */
11259 BPF_MOV64_IMM(BPF_REG_8, 1),
11272 BPF_MOV64_IMM(BPF_REG_9, 1),
11274 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
11279 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1), /* 34 */
11283 /* if arg2 == 1 do *arg1 = 0 */
11284 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 1, 2),
11290 /* if arg4 == 1 do *arg3 = 0 */
11291 BPF_JMP_IMM(BPF_JNE, BPF_REG_4, 1, 2),
11315 /* subprog 1 */
11318 /* 1st lookup from map */
11330 BPF_MOV64_IMM(BPF_REG_8, 1),
11343 BPF_MOV64_IMM(BPF_REG_9, 1),
11345 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
11350 BPF_JMP_IMM(BPF_JNE, BPF_REG_1, 0, 1), // 34
11354 /* if arg2 == 1 do *arg1 = 0 */
11355 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 1, 2),
11361 /* if arg4 == 1 do *arg3 = 0 */
11362 BPF_JMP_IMM(BPF_JNE, BPF_REG_4, 1, 2),
11383 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11387 /* subprog 1 */
11390 /* 1st lookup from map */
11401 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11402 BPF_MOV64_IMM(BPF_REG_8, 1),
11414 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11415 BPF_MOV64_IMM(BPF_REG_9, 1),
11417 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
11422 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
11426 /* if arg2 == 1 do *arg1 = 0 */
11427 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 1, 2),
11433 /* if arg4 == 1 do *arg3 = 0 */
11434 BPF_JMP_IMM(BPF_JNE, BPF_REG_4, 1, 2),
11454 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
11458 /* subprog 1 */
11461 /* 1st lookup from map */
11472 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11473 BPF_MOV64_IMM(BPF_REG_8, 1),
11485 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11486 BPF_MOV64_IMM(BPF_REG_9, 1),
11488 /* call 3rd func with fp-8, 0|1, fp-16, 0|1 */
11493 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
11497 /* if arg2 == 1 do *arg1 = 0 */
11498 BPF_JMP_IMM(BPF_JNE, BPF_REG_2, 1, 2),
11522 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
11525 /* subprog 1 */
11550 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11556 /* subprog 1 */
11581 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
11588 /* subprog 1 */
11599 BPF_MOV64_IMM(BPF_REG_5, 1),
11609 .retval = 1,
11616 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
11623 /* subprog 1 */
11634 BPF_MOV64_IMM(BPF_REG_5, 1),
11643 .retval = 1,
11651 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11656 /* subprog 1 */
11667 BPF_MOV64_IMM(BPF_REG_5, 1),
11686 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11691 /* subprog 1 */
11702 BPF_MOV64_IMM(BPF_REG_5, 1),
11720 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11725 /* subprog 1 */
11736 BPF_MOV64_IMM(BPF_REG_5, 1),
11756 BPF_JMP_REG(BPF_JLE, BPF_REG_0, BPF_REG_3, 1),
11761 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11766 /* subprog 1 */
11777 BPF_MOV64_IMM(BPF_REG_5, 1),
11796 BPF_JMP_REG(BPF_JLE, BPF_REG_0, BPF_REG_3, 1),
11801 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
11806 /* subprog 1 */
11817 BPF_MOV64_IMM(BPF_REG_5, 1),
11835 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
11838 BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1),
11843 /* subprog 1 */
11896 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11907 BPF_MOV64_IMM(BPF_REG_0, 1),
11909 /* subprog 1 */
11920 .retval = 1,
11928 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
11939 BPF_MOV64_IMM(BPF_REG_0, 1),
11941 /* subprog 1 */
11966 BPF_MOV64_IMM(BPF_REG_0, 1),
11988 BPF_MOV64_IMM(BPF_REG_0, 1),
12008 BPF_JMP_A(1),
12009 BPF_MOV64_IMM(BPF_REG_4, 1),
12036 BPF_JMP_A(1),
12048 "jit: lsh, rsh, arsh by 1",
12050 BPF_MOV64_IMM(BPF_REG_0, 1),
12052 BPF_ALU64_IMM(BPF_LSH, BPF_REG_1, 1),
12053 BPF_ALU32_IMM(BPF_LSH, BPF_REG_1, 1),
12054 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0x3fc, 1),
12056 BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 1),
12057 BPF_ALU32_IMM(BPF_RSH, BPF_REG_1, 1),
12058 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0xff, 1),
12060 BPF_ALU64_IMM(BPF_ARSH, BPF_REG_1, 1),
12061 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0x7f, 1),
12070 "jit: mov32 for ldimm64, 1",
12076 BPF_JMP_REG(BPF_JEQ, BPF_REG_1, BPF_REG_2, 1),
12077 BPF_MOV64_IMM(BPF_REG_0, 1),
12086 BPF_MOV64_IMM(BPF_REG_0, 1),
12089 BPF_JMP_REG(BPF_JEQ, BPF_REG_1, BPF_REG_2, 1),
12104 BPF_MOV64_IMM(BPF_REG_0, 1),
12109 BPF_MOV64_IMM(BPF_REG_0, 1),
12115 BPF_MOV64_IMM(BPF_REG_0, 1),
12120 BPF_MOV64_IMM(BPF_REG_0, 1),
12127 BPF_MOV64_IMM(BPF_REG_0, 1),
12138 BPF_MOV64_IMM(BPF_REG_0, 1),
12157 BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
12159 BPF_MOV64_IMM(BPF_REG_1, 1),
12181 BPF_MOV64_IMM(BPF_REG_0, 1),
12184 BPF_STX_XADD(BPF_W, BPF_REG_2, BPF_REG_0, 1),
12186 BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_2, 1),
12194 "xadd/w check whether src/dst got mangled, 1",
12196 BPF_MOV64_IMM(BPF_REG_0, 1),
12216 BPF_MOV64_IMM(BPF_REG_0, 1),
12279 "ld_abs: invalid op 1",
12348 "ld_abs: div + abs, test 1",
12420 "ld_abs: vlan + abs, test 1",
12440 BPF_MOV64_IMM(BPF_REG_2, 1),
12470 "ld_dw: xor semi-random 64 bit imms, test 1",
12518 "pass modified ctx pointer to helper, 1",
12591 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 5),
12594 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
12612 for (len = MAX_INSNS - 1; len > 0; --len) in probe_filter_length()
12615 return len + 1; in probe_filter_length()
12659 int p2key = 1; in create_prog_array()
12666 return -1; in create_prog_array()
12685 return -1; in create_prog_array()
12693 sizeof(int), 1, 0); in create_map_in_map()
12700 sizeof(int), inner_map_fd, 1, 0); in create_map_in_map()
12740 /* Allocating HTs with 1 elem is fine here, since we only test in do_test_fixup()
12746 sizeof(long long), 1); in do_test_fixup()
12754 map_fds[1] = create_map(BPF_MAP_TYPE_HASH, sizeof(long long), in do_test_fixup()
12755 sizeof(struct test_val), 1); in do_test_fixup()
12757 prog[*fixup_map2].imm = map_fds[1]; in do_test_fixup()
12764 sizeof(struct other_val), 1); in do_test_fixup()
12773 sizeof(struct test_val), 1); in do_test_fixup()
12825 map_fds[i] = -1; in do_test_single()
12832 "GPL", 0, bpf_vlog, sizeof(bpf_vlog), 1); in do_test_single()
12871 err = bpf_prog_test_run(fd_prog, 1, test->data, in do_test_single()
12927 int ret = -1; in set_admin()
12932 return -1; in set_admin()
12934 if (cap_set_flag(caps, CAP_EFFECTIVE, 1, &cap_val, in set_admin()
13009 unsigned int u = atoi(argv[argc - 1]); in main()
13013 to = u + 1; in main()
13016 unsigned int t = atoi(argv[argc - 1]); in main()
13020 to = t + 1; in main()