lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20190219053831.2086657-1-brakmo@fb.com> Date: Mon, 18 Feb 2019 21:38:31 -0800 From: brakmo <brakmo@...com> To: netdev <netdev@...r.kernel.org> CC: Martin Lau <kafai@...com>, Alexei Starovoitov <ast@...com>, Daniel Borkmann --cc=Kernel Team <"daniel@...earbox.netKernel-team"@fb.com> Subject: [PATCH bpf-next 2/9] bpf: Test bpf_tcp_enter_cwr in test_verifier This test ensures the verifier has checked the arg1 of BPF_FUNC_tcp_enter_cwr is of ARG_PTR_TO_TCP_SOCK type. Signed-off-by: Martin KaFai Lau <kafai@...com> Signed-off-by: Lawrence Brakmo <brakmo@...com> --- tools/testing/selftests/bpf/verifier/sock.c | 33 +++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tools/testing/selftests/bpf/verifier/sock.c b/tools/testing/selftests/bpf/verifier/sock.c index 0ddfdf76aba5..b07a083eeb59 100644 --- a/tools/testing/selftests/bpf/verifier/sock.c +++ b/tools/testing/selftests/bpf/verifier/sock.c @@ -382,3 +382,36 @@ .result = REJECT, .errstr = "type=tcp_sock expected=sock", }, +{ + "bpf_tcp_enter_cwr(skb->sk)", + .insns = { + BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_1, offsetof(struct __sk_buff, sk)), + BPF_JMP_IMM(BPF_JNE, BPF_REG_1, 0, 2), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + BPF_EMIT_CALL(BPF_FUNC_tcp_enter_cwr), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .prog_type = BPF_PROG_TYPE_CGROUP_SKB, + .result = REJECT, + .errstr = "type=sock_common expected=tcp_sock", +}, +{ + "bpf_tcp_enter_cwr(bpf_tcp_sock(skb->sk))", + .insns = { + BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_1, offsetof(struct __sk_buff, sk)), + BPF_JMP_IMM(BPF_JNE, BPF_REG_1, 0, 2), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + BPF_EMIT_CALL(BPF_FUNC_tcp_sock), + BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), + BPF_EXIT_INSN(), + BPF_MOV64_REG(BPF_REG_1, BPF_REG_0), + BPF_EMIT_CALL(BPF_FUNC_tcp_enter_cwr), + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .prog_type = BPF_PROG_TYPE_CGROUP_SKB, + .result = ACCEPT, +}, -- 2.17.1
Powered by blists - more mailing lists