linux/tools/testing/selftests/bpf/verifier
Martin KaFai Lau e710bcc6d9 bpf: selftest: Ensure the return value of bpf_skc_to helpers must be checked
This patch tests:

int bpf_cls(struct __sk_buff *skb)
{
	/* REG_6: sk
	 * REG_7: tp
	 * REG_8: req_sk
	 */

	sk = skb->sk;
	if (!sk)
		return 0;

	tp = bpf_skc_to_tcp_sock(sk);
	req_sk = bpf_skc_to_tcp_request_sock(sk);
	if (!req_sk)
		return 0;

	/* !tp has not been tested, so verifier should reject. */
	return *(__u8 *)tp;
}

Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20201019194219.1051314-1-kafai@fb.com
2020-10-19 15:57:42 -07:00
..
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
and.c bpf: Add AND verifier test case where 32bit and 64bit bounds differ 2020-09-25 16:47:21 -07:00
array_access.c bpf: Implement BPF ring buffer and verifier support for it 2020-06-01 14:38:22 -07:00
basic.c selftests/bpf: Fix test_verifier after introducing resolve_pseudo_ldimm64 2020-10-06 20:16:57 -07:00
basic_call.c
basic_instr.c
basic_stack.c
basic_stx_ldx.c
bounds.c selftests/bpf: Add verifier tests for xor operation 2020-08-26 21:47:32 -07:00
bounds_deduction.c
bounds_mix_sign_unsign.c
bpf_get_stack.c bpf: Test_verifier, bpf_get_stack return value add <0 2020-03-30 15:00:30 -07:00
calls.c bpf: Add abnormal return checks. 2020-09-17 19:56:07 -07:00
cfg.c
cgroup_inv_retcode.c
cgroup_skb.c
cgroup_storage.c
const_or.c bpf, selftests: Use bpf_probe_read_kernel 2020-06-02 21:04:04 +02:00
ctx.c bpf: Add selftest cases for ctx_or_null argument type 2020-03-27 19:40:39 -07:00
ctx_sk_lookup.c selftests/bpf: Add verifier tests for bpf_sk_lookup context access 2020-07-17 20:18:17 -07:00
ctx_sk_msg.c
ctx_skb.c selftests/bpf: Test new __sk_buff field gso_size 2020-03-03 16:23:59 -08:00
d_path.c selftests/bpf: Add verifier test for d_path helper 2020-08-25 15:41:15 -07:00
dead_code.c selftests/bpf: Use CAP_BPF and CAP_PERFMON in tests 2020-05-15 17:29:41 +02:00
direct_packet_access.c bpf: Propagate scalar ranges through register assignments. 2020-10-09 22:03:06 +02:00
direct_stack_access_wraparound.c
direct_value_access.c bpf: Implement BPF ring buffer and verifier support for it 2020-06-01 14:38:22 -07:00
div0.c
div_overflow.c
event_output.c selftests/bpf: Fix cgroup sockopt verifier test 2020-07-11 01:32:15 +02:00
helper_access_var_len.c bpf, selftests: Use bpf_probe_read_kernel 2020-06-02 21:04:04 +02:00
helper_packet_access.c
helper_value_access.c bpf, selftests: Use bpf_probe_read_kernel 2020-06-02 21:04:04 +02:00
int_ptr.c
jit.c
jmp32.c selftests: bpf: Add test for JMP32 JSET BPF_X with upper bits set 2020-03-06 14:17:39 +01:00
jset.c
jump.c
junk_insn.c
ld_abs.c
ld_dw.c
ld_imm64.c selftests/bpf: Fix test_verifier after introducing resolve_pseudo_ldimm64 2020-10-06 20:16:57 -07:00
ld_ind.c
leak_ptr.c
loops1.c
lwt.c
map_in_map.c
map_ptr.c selftests/bpf: Add test for map_ptr arithmetic 2020-09-08 18:04:07 -07:00
map_ptr_mixing.c bpf: Support access to bpf map fields 2020-06-22 22:22:58 +02:00
map_ret_val.c
masking.c
meta_access.c
perf_event_sample_period.c
precise.c bpf, selftests: Use bpf_probe_read_kernel 2020-06-02 21:04:04 +02:00
prevent_map_lookup.c selftests/bpf: Test that lookup on SOCKMAP/SOCKHASH is allowed 2020-04-29 23:30:59 +02:00
raw_stack.c
raw_tp_writable.c
ref_tracking.c bpf: selftest: Add ref_tracking verifier test for bpf_skc casting 2020-09-25 13:58:02 -07:00
regalloc.c bpf: Fix register equivalence tracking. 2020-10-15 16:05:31 +02:00
runtime_jit.c bpf: Add further test_verifier cases for record_func_key 2019-12-19 13:39:22 -08:00
scale.c
search_pruning.c
sock.c bpf: selftest: Ensure the return value of bpf_skc_to helpers must be checked 2020-10-19 15:57:42 -07:00
spill_fill.c
spin_lock.c
stack_ptr.c bpf, selftests: Add test for BPF_STX BPF_B storing R10 2020-04-20 19:25:30 -07:00
subreg.c
uninit.c
unpriv.c
value.c
value_adj_spill.c
value_illegal_alu.c bpf: Forbid XADD on spilled pointers for unprivileged users 2020-04-20 18:41:34 -07:00
value_or_null.c bpf: Selftests, verifier case for non null pointer map value branch 2020-05-21 17:44:25 -07:00
value_ptr_arith.c tools/bpf: Add verifier tests for 32bit pointer/scalar arithmetic 2020-06-19 23:34:43 +02:00
var_off.c
wide_access.c
xadd.c
xdp.c
xdp_direct_packet_access.c