diff options
| author | Mark Brown <broonie@kernel.org> | 2020-12-11 17:47:55 +0000 | 
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2020-12-11 17:47:55 +0000 | 
| commit | 031616c434db05ce766f76c62865f55698e0924f (patch) | |
| tree | 7f29aa1ff3e7b51a8058cd570fb785c6e769b245 /tools/testing/selftests/bpf/verifier/and.c | |
| parent | 064841ccfc49b2315dc0b797239862d3a343aa07 (diff) | |
| parent | 85a7555575a0e48f9b73db310d0d762a08a46d63 (diff) | |
Merge remote-tracking branch 'asoc/for-5.10' into asoc-linus
Diffstat (limited to 'tools/testing/selftests/bpf/verifier/and.c')
| -rw-r--r-- | tools/testing/selftests/bpf/verifier/and.c | 16 | 
1 files changed, 16 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/verifier/and.c b/tools/testing/selftests/bpf/verifier/and.c index d781bc86e100..ca8fdb1b3f01 100644 --- a/tools/testing/selftests/bpf/verifier/and.c +++ b/tools/testing/selftests/bpf/verifier/and.c @@ -48,3 +48,19 @@  	.result = REJECT,  	.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,  }, +{ +	"check known subreg with unknown reg", +	.insns = { +	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_prandom_u32), +	BPF_ALU64_IMM(BPF_LSH, BPF_REG_0, 32), +	BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 1), +	BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xFFFF1234), +	/* Upper bits are unknown but AND above masks out 1 zero'ing lower bits */ +	BPF_JMP32_IMM(BPF_JLT, BPF_REG_0, 1, 1), +	BPF_LDX_MEM(BPF_W, BPF_REG_1, BPF_REG_1, 512), +	BPF_MOV64_IMM(BPF_REG_0, 0), +	BPF_EXIT_INSN(), +	}, +	.result = ACCEPT, +	.retval = 0 +},  | 
