/linux-6.12.1/tools/testing/selftests/bpf/progs/ |
D | verifier_sdiv.c | 15 __description("SDIV32, non-zero imm divisor, check 1") 27 __description("SDIV32, non-zero imm divisor, check 2") 39 __description("SDIV32, non-zero imm divisor, check 3") 51 __description("SDIV32, non-zero imm divisor, check 4") 63 __description("SDIV32, non-zero imm divisor, check 5") 75 __description("SDIV32, non-zero imm divisor, check 6") 87 __description("SDIV32, non-zero imm divisor, check 7") 99 __description("SDIV32, non-zero imm divisor, check 8") 111 __description("SDIV32, non-zero reg divisor, check 1") 124 __description("SDIV32, non-zero reg divisor, check 2") [all …]
|
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") 115 __description("check deducing bounds from non-const, jmp32, <non_const> == <const>, 2") 136 __description("check deducing bounds from non-const, jmp32, <non_const> != <const>, 1") 158 __description("check deducing bounds from non-const, jmp32, <non_const> != <const>, 2") 180 __description("check deducing bounds from non-const, jmp64, <const> > <non_const>, 1") 199 __description("check deducing bounds from non-const, jmp64, <const> > <non_const>, 2") [all …]
|
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") 151 __description("div32 reg zero extend check") 168 __description("div32 imm zero extend check") 192 __description("or32 reg zero extend check") 209 __description("or32 imm zero extend check") [all …]
|
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") 141 __description("bounds check based on sign-extended MOV. test1") 172 __description("bounds check based on sign-extended MOV. test2") 203 __description("bounds check based on reg_off + var_off + insn_off. test1") 232 __description("bounds check based on reg_off + var_off + insn_off. test2") 262 __description("bounds check after truncation of non-boundary-crossing range") 301 __description("bounds check after truncation of boundary-crossing range (1)") [all …]
|
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") 131 __description("unpriv: cmp pointer with const") 144 __description("unpriv: cmp pointer with pointer") 157 __description("unpriv: check that printk is disallowed") 177 __description("unpriv: pass pointer to helper function") 200 __description("unpriv: indirectly pass pointer on stack to helper function") 221 __description("unpriv: mangle pointer on stack 1") [all …]
|
D | verifier_value_ptr_arith.c | 43 __description("map access: known scalar += value_ptr unknown vs const") 81 __description("map access: known scalar += value_ptr const vs unknown") 119 __description("map access: known scalar += value_ptr const vs const (ne)") 155 __description("map access: known scalar += value_ptr const vs const (eq)") 189 __description("map access: known scalar += value_ptr unknown vs unknown (eq)") 227 __description("map access: known scalar += value_ptr unknown vs unknown (lt)") 267 __description("map access: known scalar += value_ptr unknown vs unknown (gt)") 307 __description("map access: known scalar += value_ptr from different maps") 337 __description("map access: value_ptr -= known scalar from different maps") 370 __description("map access: known scalar += value_ptr from different maps, but same value properties… [all …]
|
D | verifier_stack_ptr.c | 24 __description("PTR_TO_STACK store/load") 39 __description("PTR_TO_STACK store/load - bad alignment on off") 55 __description("PTR_TO_STACK store/load - bad alignment on reg") 71 __description("PTR_TO_STACK store/load - out of bounds low") 87 __description("PTR_TO_STACK store/load - out of bounds high") 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") [all …]
|
D | verifier_helper_access_var_len.c | 35 __description("helper access to variable memory: stack, bitwise AND + JMP, correct bounds") 67 __description("helper access to variable memory: stack, bitwise AND, zero included") 102 __description("helper access to variable memory: stack, bitwise AND + JMP, wrong max") 125 __description("helper access to variable memory: stack, JMP, correct bounds") 157 __description("helper access to variable memory: stack, JMP (signed), 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") 296 __description("helper access to variable memory: stack, JMP (signed), no min check") [all …]
|
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") 205 __description("helper access to adjusted map (via const imm): full range") 233 __description("helper access to adjusted map (via const imm): partial range") 260 __description("helper access to adjusted map (via const imm): empty range") 286 __description("helper access to adjusted map (via const imm): out-of-bound range") [all …]
|
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") 51 __description("XDP pkt read, pkt_data' > pkt_end, corner case, good access") 71 __description("XDP pkt read, pkt_data' > pkt_end, bad access 1") 92 __description("XDP pkt read, pkt_data' > pkt_end, bad access 2") 113 __description("XDP pkt read, pkt_data' > pkt_end, corner case +1, good access") 133 __description("XDP pkt read, pkt_data' > pkt_end, corner case -1, bad access") 154 __description("XDP pkt read, pkt_end > pkt_data', good access") 175 __description("XDP pkt read, pkt_end > pkt_data', corner case -1, bad access") 197 __description("XDP pkt read, pkt_end > pkt_data', bad access 2") [all …]
|
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") 69 __description("masking, test out of bounds 4") 89 __description("masking, test out of bounds 5") 109 __description("masking, test out of bounds 6") 129 __description("masking, test out of bounds 7") 149 __description("masking, test out of bounds 8") 169 __description("masking, test out of bounds 9") 189 __description("masking, test out of bounds 10") [all …]
|
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 …]
|
D | verifier_ref_tracking.c | 111 __description("reference tracking: leak potential reference") 126 __description("reference tracking: leak potential reference to sock_common") 141 __description("reference tracking: leak potential reference on stack") 159 __description("reference tracking: leak potential reference on stack 2") 179 __description("reference tracking: zero potential reference") 194 __description("reference tracking: zero potential reference to sock_common") 209 __description("reference tracking: copy and zero potential references") 226 __description("reference tracking: acquire/release user key reference") 246 __description("reference tracking: acquire/release system key reference") 265 __description("reference tracking: release user key reference without check") [all …]
|
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 …]
|
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]") 109 __description("bpf_sk_fullsock(skb->sk): no !skb->sk check") 126 __description("sk_fullsock(skb->sk): no NULL check on ret") 148 __description("sk_fullsock(skb->sk): sk->type [fullsock field]") 172 __description("sk_fullsock(skb->sk): sk->family [non fullsock field]") 195 __description("sk_fullsock(skb->sk): sk->state [narrow load]") 219 __description("sk_fullsock(skb->sk): sk->dst_port [word load] (backward compatibility)") 243 __description("sk_fullsock(skb->sk): sk->dst_port [half load]") [all …]
|
D | verifier_loops1.c | 9 __description("bounded loop, count to 4") 22 __description("bounded loop, count to 20") 35 __description("bounded loop, count from positive unknown to 4") 51 __description("bounded loop, count from totally unknown to 4") 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") 108 __description("bounded loop that jumps out rather than in") 125 __description("infinite loop after a conditional jump") 139 __description("bounded recursion") [all …]
|
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") 41 __description("lsm bpf prog with -4095~0 retval. test 5") 52 __description("lsm bpf prog with -4095~0 retval. test 6") 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") [all …]
|
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)") 115 __description("direct packet access: test5 (pkt_end >= reg, good access)") 137 __description("direct packet access: test6 (pkt_end >= reg, bad access)") 159 __description("direct packet access: test7 (pkt_end >= reg, both accesses)") 182 __description("direct packet access: test8 (double test, variant 1)") 206 __description("direct packet access: test9 (double test, variant 2)") [all …]
|
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") 125 __description("raw_stack: skb_load_bytes, spilled regs around bounds") 152 __description("raw_stack: skb_load_bytes, spilled regs corruption") 175 __description("raw_stack: skb_load_bytes, spilled regs corruption 2") 208 __description("raw_stack: skb_load_bytes, spilled regs + data") [all …]
|
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 …]
|
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 …]
|
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") 271 __description("indirect variable-offset stack access, zero-sized, max out of bound") 296 __description("indirect variable-offset stack access, min out of bound") [all …]
|
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 …]
|
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") 175 __description("Spill and refill a u32 const scalar. Offset to skb->data") 201 __description("Spill a u32 const, refill from another half of the uninit u32 from the stack") 219 __description("Spill a u32 const scalar. Refill as u16. Offset to skb->data") [all …]
|
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") 114 __description("helper access to packet: test5, packet_ptr with too short range") 138 __description("helper access to packet: test6, cls valid packet_ptr range") 163 __description("helper access to packet: test7, cls unchecked packet_ptr") 181 __description("helper access to packet: test8, cls variable add") 211 __description("helper access to packet: test9, cls packet_ptr with bad range") 236 __description("helper access to packet: test10, cls packet_ptr with too short range") [all …]
|