]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bpf: verifier: Disambiguate get_constant_map_key() errors
authorDaniel Xu <dxu@dxuuu.xyz>
Tue, 4 Feb 2025 17:25:18 +0000 (10:25 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 7 Feb 2025 23:45:44 +0000 (15:45 -0800)
commit7968c6581507052c1c6484ee6c5cbe07381e2dbc
treed72736640b9d442a717f48ea8413652579e8eb3f
parent973cb1382ead401c476c82f20525e593ae84788f
bpf: verifier: Disambiguate get_constant_map_key() errors

Refactor get_constant_map_key() to disambiguate the constant key
value from potential error values. In the case that the key is
negative, it could be confused for an error.

It's not currently an issue, as the verifier seems to track s32 spills
as u32. So even if the program wrongly uses a negative value for an
arraymap key, the verifier just thinks it's an impossibly high value
which gets correctly discarded.

Refactor anyways to make things cleaner and prevent potential future
issues.

Acked-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
Link: https://lore.kernel.org/r/dfe144259ae7cfc98aa63e1b388a14869a10632a.1738689872.git.dxu@dxuuu.xyz
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/verifier.c