diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/bpf/verifier/ld_imm64.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/tools/testing/selftests/bpf/verifier/ld_imm64.c b/tools/testing/selftests/bpf/verifier/ld_imm64.c index 28b8c805a293..3856dba733e9 100644 --- a/tools/testing/selftests/bpf/verifier/ld_imm64.c +++ b/tools/testing/selftests/bpf/verifier/ld_imm64.c | |||
@@ -122,7 +122,7 @@ | |||
122 | .insns = { | 122 | .insns = { |
123 | BPF_MOV64_IMM(BPF_REG_1, 0), | 123 | BPF_MOV64_IMM(BPF_REG_1, 0), |
124 | BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1), | 124 | BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1), |
125 | BPF_RAW_INSN(0, 0, 0, 0, 1), | 125 | BPF_RAW_INSN(0, 0, 0, 0, 0), |
126 | BPF_EXIT_INSN(), | 126 | BPF_EXIT_INSN(), |
127 | }, | 127 | }, |
128 | .errstr = "not pointing to valid bpf_map", | 128 | .errstr = "not pointing to valid bpf_map", |
@@ -139,3 +139,16 @@ | |||
139 | .errstr = "invalid bpf_ld_imm64 insn", | 139 | .errstr = "invalid bpf_ld_imm64 insn", |
140 | .result = REJECT, | 140 | .result = REJECT, |
141 | }, | 141 | }, |
142 | { | ||
143 | "test14 ld_imm64: reject 2nd imm != 0", | ||
144 | .insns = { | ||
145 | BPF_MOV64_IMM(BPF_REG_0, 0), | ||
146 | BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, BPF_REG_1, | ||
147 | BPF_PSEUDO_MAP_FD, 0, 0), | ||
148 | BPF_RAW_INSN(0, 0, 0, 0, 0xfefefe), | ||
149 | BPF_EXIT_INSN(), | ||
150 | }, | ||
151 | .fixup_map_hash_48b = { 1 }, | ||
152 | .errstr = "unrecognized bpf_ld_imm64 insn", | ||
153 | .result = REJECT, | ||
154 | }, | ||