Commit 945a47d8 authored by John Fastabend's avatar John Fastabend Committed by Daniel Borkmann

bpf: sk_msg, add tests for size field

This adds tests to read the size field to test_verifier.
Signed-off-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 584e4681
...@@ -1843,10 +1843,20 @@ static struct bpf_test tests[] = { ...@@ -1843,10 +1843,20 @@ static struct bpf_test tests[] = {
.prog_type = BPF_PROG_TYPE_SK_SKB, .prog_type = BPF_PROG_TYPE_SK_SKB,
}, },
{ {
"invalid 64B read of family in SK_MSG", "valid access size in SK_MSG",
.insns = {
BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1,
offsetof(struct sk_msg_md, size)),
BPF_EXIT_INSN(),
},
.result = ACCEPT,
.prog_type = BPF_PROG_TYPE_SK_MSG,
},
{
"invalid 64B read of size in SK_MSG",
.insns = { .insns = {
BPF_LDX_MEM(BPF_DW, BPF_REG_2, BPF_REG_1, BPF_LDX_MEM(BPF_DW, BPF_REG_2, BPF_REG_1,
offsetof(struct sk_msg_md, family)), offsetof(struct sk_msg_md, size)),
BPF_EXIT_INSN(), BPF_EXIT_INSN(),
}, },
.errstr = "invalid bpf_context access", .errstr = "invalid bpf_context access",
...@@ -1857,7 +1867,7 @@ static struct bpf_test tests[] = { ...@@ -1857,7 +1867,7 @@ static struct bpf_test tests[] = {
"invalid read past end of SK_MSG", "invalid read past end of SK_MSG",
.insns = { .insns = {
BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1, BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1,
offsetof(struct sk_msg_md, local_port) + 4), offsetof(struct sk_msg_md, size) + 4),
BPF_EXIT_INSN(), BPF_EXIT_INSN(),
}, },
.errstr = "R0 !read_ok", .errstr = "R0 !read_ok",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment