| /linux/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_bounds.c | 16 __description("subtraction bounds (map value) variant 1") 47 __description("subtraction bounds (map value) variant 2") 78 __description("check subtraction on pointers for unpriv") 111 __description("bounds check based on zero-extended MOV") 693 __description("bounds check for reg = 0, reg xor 1") 749 __description("bounds check for reg = 2, reg xor 3") 777 __description("bounds check for reg = any, reg xor 3") 831 __description("bounds check for reg > 0, reg xor 3") 910 __description("bounds check for non const or src dst") 931 __description("bounds check for non const mul regs") [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") 680 __description("unpriv: adding of fp, reg") [all …]
|
| A D | verifier_value_ptr_arith.c | 505 __description("sanitation: alu with different scalars 1") 536 __description("sanitation: alu with different scalars 2") 569 __description("sanitation: alu with different scalars 3") 755 __description("map access: known scalar += value_ptr") 1146 __description("map access: value_ptr += value_ptr") 1170 __description("map access: known scalar -= value_ptr") 1195 __description("map access: value_ptr -= known scalar") 1246 __description("map access: unknown scalar -= value_ptr") 1329 __description("map access: value_ptr -= value_ptr") 1382 __description("32bit pkt_ptr -= scalar") [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_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_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_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_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_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_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_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_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_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_sock.c | 54 __description("skb->sk: no NULL check") 70 __description("skb->sk: sk->family [non fullsock field]") 89 __description("skb->sk: sk->type [fullsock field]") 440 __description("sk_fullsock(skb->sk): beyond last field") 504 __description("bpf_tcp_sock(skb->sk): tp->snd_cwnd") 527 __description("bpf_tcp_sock(skb->sk): tp->bytes_acked") 602 __description("bpf_sk_release(skb->sk)") 643 __description("bpf_sk_release(bpf_tcp_sock(skb->sk))") 757 __description("bpf_map_lookup_elem(smap, &key)") 801 __description("bpf_map_lookup_elem(sockmap, &key)") [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_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_ctx.c | 9 __description("context stores via BPF_ATOMIC") 23 __description("arithmetic ops make PTR_TO_CTX unusable") 39 __description("pass unmodified ctx pointer to helper") 54 __description("pass modified ctx pointer to helper, 1") 70 __description("pass modified ctx pointer to helper, 2") 86 __description("pass modified ctx pointer to helper, 3") 104 __description("pass ctx or null check, 1: ctx") 118 __description("pass ctx or null check, 2: null") 133 __description("pass ctx or null check, 3: 1") 148 __description("pass ctx or null check, 4: ctx - const") [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_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_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_spill_fill.c | 15 __description("check valid spill/fill") 33 __description("check valid spill/fill, skb mark") 49 __description("check valid spill/fill, ptr to mem") 86 __description("check with invalid reg offset 0") 122 __description("check corrupted spill/fill") 145 __description("check corrupted spill/fill, LSB") 160 __description("check corrupted spill/fill, MSB") 386 __description("32-bit spill of 64-bit reg should clear ID") 426 __description("16-bit spill of 32-bit reg should clear ID") 923 __description("8-bit spill of 8-bit reg should assign ID") [all …]
|
| A D | verifier_helper_packet_access.c | 16 __description("helper access to packet: test1, valid packet_ptr range") 41 __description("helper access to packet: test2, unchecked packet_ptr") 59 __description("helper access to packet: test3, variable add") 89 __description("helper access to packet: test4, packet_ptr with bad range") 163 __description("helper access to packet: test7, cls unchecked packet_ptr") 181 __description("helper access to packet: test8, cls variable add") 308 __description("helper access to packet: test13, cls helper ok") 335 __description("helper access to packet: test14, cls helper ok sub") 362 __description("helper access to packet: test15, cls helper fail sub") 498 __description("helper access to packet: test20, pkt end as input") [all …]
|