Two fixes for nullness elision. See commits for more details.
=== Changelog === Changes from v1: * Reword commit message in patch 1 * Add tags
Daniel Xu (3): bpf: verifier: Do not extract constant map keys for irrelevant maps bpf: selftests: Test constant key extraction on irrelevant maps bpf: verifier: Disambiguate get_constant_map_key() errors
kernel/bpf/verifier.c | 29 ++++++++++++++----- .../bpf/progs/verifier_array_access.c | 15 ++++++++++ 2 files changed, 36 insertions(+), 8 deletions(-)
Test that very high constant map keys are not interpreted as an error value by the verifier. This would previously fail.
Acked-by: Eduard Zingerman eddyz87@gmail.com Signed-off-by: Daniel Xu dxu@dxuuu.xyz --- .../selftests/bpf/progs/verifier_array_access.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/tools/testing/selftests/bpf/progs/verifier_array_access.c b/tools/testing/selftests/bpf/progs/verifier_array_access.c index 29eb9568633f..0a187ff725cc 100644 --- a/tools/testing/selftests/bpf/progs/verifier_array_access.c +++ b/tools/testing/selftests/bpf/progs/verifier_array_access.c @@ -713,4 +713,19 @@ unsigned int non_stack_key_lookup(void) return val->index; }
+SEC("socket") +__description("doesn't reject UINT64_MAX as s64 for irrelevant maps") +__success __retval(42) +unsigned int doesnt_reject_irrelevant_maps(void) +{ + __u64 key = 0xFFFFFFFFFFFFFFFF; + struct test_val *val; + + val = bpf_map_lookup_elem(&map_hash_48b, &key); + if (val) + return val->index; + + return 42; +} + char _license[] SEC("license") = "GPL";
Hello:
This series was applied to bpf/bpf.git (master) by Alexei Starovoitov ast@kernel.org:
On Tue, 4 Feb 2025 10:25:15 -0700 you wrote:
Two fixes for nullness elision. See commits for more details.
=== Changelog === Changes from v1:
- Reword commit message in patch 1
- Add tags
[...]
Here is the summary with links: - [bpf-next,v2,1/3] bpf: verifier: Do not extract constant map keys for irrelevant maps https://git.kernel.org/bpf/bpf/c/884c3a18dadf - [bpf-next,v2,2/3] bpf: selftests: Test constant key extraction on irrelevant maps https://git.kernel.org/bpf/bpf/c/973cb1382ead - [bpf-next,v2,3/3] bpf: verifier: Disambiguate get_constant_map_key() errors https://git.kernel.org/bpf/bpf/c/7968c6581507
You are awesome, thank you!
linux-kselftest-mirror@lists.linaro.org