| /tools/testing/selftests/bpf/progs/ |
| A D | verifier_sdiv.c | 715 __description("SDIV32, zero divisor") 730 __description("SDIV64, zero divisor") 745 __description("SMOD32, zero divisor") 760 __description("SMOD64, zero divisor") 810 __description("SDIV64, r/r, small_val/-1") 865 __description("SDIV64, r/i, small_val/-1") 922 __description("SDIV32, r/r, small_val/-1") 979 __description("SDIV32, r/i, small_val/-1") 1031 __description("SMOD64, r/r, small_val/-1") 1083 __description("SMOD64, r/i, small_val/-1") [all …]
|
| A D | verifier_bounds_deduction_non_const.c | 8 __description("check deducing bounds from non-const, jmp64, <non_const> == <const>, 1") 29 __description("check deducing bounds from non-const, jmp64, <non_const> == <const>, 2") 50 __description("check deducing bounds from non-const, jmp64, <non_const> != <const>, 1") 72 __description("check deducing bounds from non-const, jmp64, <non_const> != <const>, 2") 94 __description("check deducing bounds from non-const, jmp32, <non_const> == <const>, 1") 220 __description("check deducing bounds from non-const, jmp64, <const> >= <non_const>") 241 __description("check deducing bounds from non-const, jmp64, <const> < <non_const>") 262 __description("check deducing bounds from non-const, jmp64, <const> <= <non_const>") 283 __description("check deducing bounds from non-const, jmp64, <const> == <non_const>") 304 __description("check deducing bounds from non-const, jmp64, <const> s> <non_const>") [all …]
|
| A D | verifier_subreg.c | 22 __description("add32 reg zero extend check") 39 __description("add32 imm zero extend check") 69 __description("sub32 reg zero extend check") 86 __description("sub32 imm zero extend check") 110 __description("mul32 reg zero extend check") 127 __description("mul32 imm zero extend check") 192 __description("or32 reg zero extend check") 209 __description("or32 imm zero extend check") 611 __description("ldx_b zero extend check") 632 __description("ldx_h zero extend check") [all …]
|
| A D | verifier_stack_ptr.c | 24 __description("PTR_TO_STACK store/load") 103 __description("PTR_TO_STACK check high 1") 118 __description("PTR_TO_STACK check high 2") 132 __description("PTR_TO_STACK check high 3") 149 __description("PTR_TO_STACK check high 4") 165 __description("PTR_TO_STACK check high 5") 222 __description("PTR_TO_STACK check low 1") 237 __description("PTR_TO_STACK check low 2") 254 __description("PTR_TO_STACK check low 3") 270 __description("PTR_TO_STACK check low 4") [all …]
|
| A D | verifier_div0.c | 9 __description("DIV32 by 0, zero check 1") 23 __description("DIV32 by 0, zero check 2") 37 __description("DIV64 by 0, zero check") 51 __description("MOD32 by 0, zero check 1") 65 __description("MOD32 by 0, zero check 2") 79 __description("MOD64 by 0, zero check") 93 __description("DIV32 by 0, zero check ok, cls") 108 __description("DIV32 by 0, zero check 1, cls") 121 __description("DIV32 by 0, zero check 2, cls") 134 __description("DIV64 by 0, zero check, cls") [all …]
|
| A D | verifier_lsm.c | 8 __description("lsm bpf prog with -4095~0 retval. test 1") 19 __description("lsm bpf prog with -4095~0 retval. test 2") 30 __description("lsm bpf prog with -4095~0 retval. test 4") 63 __description("lsm bpf prog with bool retval. test 1") 74 __description("lsm bpf prog with bool retval. test 2") 86 __description("lsm bpf prog with bool retval. test 3") 97 __description("lsm bpf prog with bool retval. test 4") 109 __description("lsm bpf prog with void retval. test 1") 130 __description("lsm disabled hook: getprocattr") 141 __description("lsm disabled hook: setprocattr") [all …]
|
| A D | verifier_bounds.c | 17 __description("subtraction bounds (map value) variant 1") 48 __description("subtraction bounds (map value) variant 2") 79 __description("check subtraction on pointers for unpriv") 112 __description("bounds check based on zero-extended MOV") 706 __description("bounds check for reg = 0, reg xor 1") 772 __description("bounds check for reg = 2, reg xor 3") 859 __description("bounds check for reg > 0, reg xor 3") 969 __description("bounds check for non const mul regs") 1242 __description("multiply mixed sign bounds. test 1") 1265 __description("multiply mixed sign bounds. test 2") [all …]
|
| A D | verifier_unpriv.c | 81 __description("unpriv: return pointer") 93 __description("unpriv: add const to pointer") 105 __description("unpriv: add pointer to pointer") 118 __description("unpriv: neg pointer") 278 __description("unpriv: spill/fill of ctx") 293 __description("unpriv: spill/fill of ctx 2") 311 __description("unpriv: spill/fill of ctx 3") 329 __description("unpriv: spill/fill of ctx 4") 574 __description("alu32: mov u32 const") 701 __description("unpriv: adding of fp, reg") [all …]
|
| A D | verifier_movsx.c | 14 __description("MOV32SX, S8") 26 __description("MOV32SX, S16") 38 __description("MOV64SX, S8") 50 __description("MOV64SX, S16") 62 __description("MOV64SX, S32") 75 __description("MOV32SX, S8, range_check") 97 __description("MOV32SX, S16, range_check") 119 __description("MOV32SX, S16, range_check 2") 140 __description("MOV64SX, S8, range_check") 162 __description("MOV64SX, S16, range_check") [all …]
|
| A D | verifier_masking.c | 9 __description("masking, test out of bounds 1") 29 __description("masking, test out of bounds 2") 49 __description("masking, test out of bounds 3") 249 __description("masking, test in bounds 1") 269 __description("masking, test in bounds 2") 289 __description("masking, test in bounds 3") 309 __description("masking, test in bounds 4") 329 __description("masking, test in bounds 5") 349 __description("masking, test in bounds 6") 369 __description("masking, test in bounds 7") [all …]
|
| A D | verifier_helper_access_var_len.c | 67 __description("helper access to variable memory: stack, bitwise AND, zero included") 125 __description("helper access to variable memory: stack, JMP, correct bounds") 189 __description("helper access to variable memory: stack, JMP, bounds + offset") 213 __description("helper access to variable memory: stack, JMP, wrong max") 236 __description("helper access to variable memory: stack, JMP, no max check") 260 __description("helper access to variable memory: stack, JMP, no min check") 317 __description("helper access to variable memory: map, JMP, correct bounds") 349 __description("helper access to variable memory: map, JMP, wrong max") 416 __description("helper access to variable memory: map adjusted, JMP, wrong max") 750 __description("helper access to variable memory: 8 bytes leak") [all …]
|
| A D | verifier_loops1.c | 9 __description("bounded loop, count to 4") 22 __description("bounded loop, count to 20") 66 __description("bounded loop, count to 4 with equality") 79 __description("bounded loop, start in the middle") 94 __description("bounded loop containing a forward jump") 125 __description("infinite loop after a conditional jump") 139 __description("bounded recursion") 166 __description("infinite loop in two jumps") 179 __description("infinite loop: three-jump trick") 213 __description("taken loop with back jump to 1st insn") [all …]
|
| A D | verifier_helper_value_access.c | 42 __description("helper access to map: full range") 68 __description("helper access to map: partial range") 98 __description("helper access to map: empty range") 125 __description("helper access to map: possibly-empty ange") 154 __description("helper access to map: out-of-bound range") 180 __description("helper access to map: negative range") 976 __description("map lookup helper access to map") 999 __description("map update helper access to map") 1025 __description("map update helper access to map: wrong size") 1052 __description("map helper access to adjusted map (via const imm)") [all …]
|
| A D | verifier_value_ptr_arith.c | 519 __description("sanitation: alu with different scalars 1") 550 __description("sanitation: alu with different scalars 2") 583 __description("sanitation: alu with different scalars 3") 769 __description("map access: known scalar += value_ptr") 1160 __description("map access: value_ptr += value_ptr") 1184 __description("map access: known scalar -= value_ptr") 1209 __description("map access: value_ptr -= known scalar") 1260 __description("map access: unknown scalar -= value_ptr") 1347 __description("map access: value_ptr -= value_ptr") 1400 __description("32bit pkt_ptr -= scalar") [all …]
|
| A D | verifier_raw_stack.c | 9 __description("raw_stack: no skb_load_bytes") 27 __description("raw_stack: skb_load_bytes, negative len") 46 __description("raw_stack: skb_load_bytes, negative len 2") 66 __description("raw_stack: skb_load_bytes, zero len") 85 __description("raw_stack: skb_load_bytes, no init") 104 __description("raw_stack: skb_load_bytes, init") 238 __description("raw_stack: skb_load_bytes, invalid access 1") 257 __description("raw_stack: skb_load_bytes, invalid access 2") 276 __description("raw_stack: skb_load_bytes, invalid access 3") 295 __description("raw_stack: skb_load_bytes, invalid access 4") [all …]
|
| A D | verifier_ldsx.c | 14 __description("LDSX, S8") 31 __description("LDSX, S16") 48 __description("LDSX, S32") 66 __description("LDSX, S8 range checking, privileged") 94 __description("LDSX, S16 range checking") 121 __description("LDSX, S32 range checking") 148 __description("LDSX, xdp s32 xdp_md->data") 162 __description("LDSX, xdp s32 xdp_md->data_end") 176 __description("LDSX, xdp s32 xdp_md->data_meta") 190 __description("LDSX, tcx s32 __sk_buff->data") [all …]
|
| A D | verifier_xdp_direct_packet_access.c | 9 __description("XDP pkt read, pkt_end mangling, bad access 1") 30 __description("XDP pkt read, pkt_end mangling, bad access 2") 71 __description("XDP pkt read, pkt_data' > pkt_end, bad access 1") 92 __description("XDP pkt read, pkt_data' > pkt_end, bad access 2") 154 __description("XDP pkt read, pkt_end > pkt_data', good access") 197 __description("XDP pkt read, pkt_end > pkt_data', bad access 2") 260 __description("XDP pkt read, pkt_data' < pkt_end, good access") 303 __description("XDP pkt read, pkt_data' < pkt_end, bad access 2") 386 __description("XDP pkt read, pkt_end < pkt_data', bad access 1") 407 __description("XDP pkt read, pkt_end < pkt_data', bad access 2") [all …]
|
| A D | verifier_cfg.c | 9 __description("unreachable") 21 __description("unreachable2") 34 __description("out of range jump") 47 __description("out of range jump2") 59 __description("loop (back-edge)") 71 __description("loop2 (back-edge)") 86 __description("conditional loop") 101 __description("conditional loop (2)") 123 __description("unconditional loop after conditional jump") 148 __description("unconditional loop after conditional jump")
|
| A D | verifier_var_off.c | 16 __description("variable-offset ctx access") 36 __description("variable-offset stack read, priv vs unpriv") 63 __description("variable-offset stack read, uninitialized") 86 __description("variable-offset stack write, priv vs unpriv") 126 __description("variable-offset stack write followed by read") 158 __description("variable-offset stack write clobbers spilled regs") 205 __description("indirect variable-offset stack access, unbounded") 238 __description("indirect variable-offset stack access, max out of bound") 296 __description("indirect variable-offset stack access, min out of bound") 355 __description("indirect variable-offset stack access, priv vs unpriv") [all …]
|
| A D | verifier_ctx.c | 11 __description("context stores via BPF_ATOMIC") 25 __description("arithmetic ops make PTR_TO_CTX unusable") 41 __description("pass unmodified ctx pointer to helper") 56 __description("pass modified ctx pointer to helper, 1") 72 __description("pass modified ctx pointer to helper, 2") 88 __description("pass modified ctx pointer to helper, 3") 106 __description("pass ctx or null check, 1: ctx") 120 __description("pass ctx or null check, 2: null") 135 __description("pass ctx or null check, 3: 1") 150 __description("pass ctx or null check, 4: ctx - const") [all …]
|
| A D | verifier_ref_tracking.c | 111 __description("reference tracking: leak potential reference") 179 __description("reference tracking: zero potential reference") 384 __description("reference tracking: release reference") 420 __description("reference tracking: release reference 2") 439 __description("reference tracking: release reference twice") 771 __description("reference tracking: allow LD_ABS") 815 __description("reference tracking: allow LD_IND") 998 __description("reference tracking: mangle and release sock") 1017 __description("reference tracking: access member") 1037 __description("reference tracking: write to member") [all …]
|
| A D | verifier_direct_packet_access.c | 9 __description("pkt_end - pkt_start is allowed") 25 __description("direct packet access: test1") 45 __description("direct packet access: test2") 80 __description("direct packet access: test3") 95 __description("direct packet access: test4 (write)") 230 __description("direct packet access: test10 (write invalid)") 279 __description("direct packet access: test12 (and, good access)") 365 __description("direct packet access: test15 (spill with xadd)") 481 __description("direct packet access: test20 (x += pkt_ptr, 1)") 508 __description("direct packet access: test21 (x += pkt_ptr, 2)") [all …]
|
| A D | verifier_bounds_deduction.c | 9 __description("check deducing bounds from const, 1") 23 __description("check deducing bounds from const, 2") 41 __description("check deducing bounds from const, 3") 55 __description("check deducing bounds from const, 4") 74 __description("check deducing bounds from const, 5") 88 __description("check deducing bounds from const, 6") 103 __description("check deducing bounds from const, 7") 122 __description("check deducing bounds from const, 8") 141 __description("check deducing bounds from const, 9") 155 __description("check deducing bounds from const, 10")
|
| A D | verifier_bounds_mix_sign_unsign.c | 16 __description("bounds checks mixing signed and unsigned, positive bounds") 48 __description("bounds checks mixing signed and unsigned") 80 __description("bounds checks mixing signed and unsigned, variant 2") 114 __description("bounds checks mixing signed and unsigned, variant 3") 147 __description("bounds checks mixing signed and unsigned, variant 4") 178 __description("bounds checks mixing signed and unsigned, variant 5") 211 __description("bounds checks mixing signed and unsigned, variant 6") 242 __description("bounds checks mixing signed and unsigned, variant 7") 274 __description("bounds checks mixing signed and unsigned, variant 8") 308 __description("bounds checks mixing signed and unsigned, variant 9") [all …]
|
| A D | verifier_sock.c | 61 __description("skb->sk: no NULL check") 77 __description("skb->sk: sk->family [non fullsock field]") 96 __description("skb->sk: sk->type [fullsock field]") 511 __description("bpf_tcp_sock(skb->sk): tp->snd_cwnd") 609 __description("bpf_sk_release(skb->sk)") 764 __description("bpf_map_lookup_elem(smap, &key)") 808 __description("bpf_map_lookup_elem(sockmap, &key)") 988 __description("sk->src_ip6[0] [load 1st byte]") 1003 __description("sk->mark [load mark]") 1018 __description("sk->src_ip4 [load src_ip4]") [all …]
|