bpf: simplify tnum output if a fully known constant
authorAndrii Nakryiko <andrii@kernel.org>
Sat, 2 Dec 2023 17:57:05 +0000 (09:57 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 2 Dec 2023 19:36:51 +0000 (11:36 -0800)
commit81eff2e36481c5cf4a2ac906ae56c3fbd3e6f305
treee236cae5c30d8c1f05346f4eb167109a433a1db6
parent5c19e1d05e9e71b42d8e779f41959254239709da
bpf: simplify tnum output if a fully known constant

Emit tnum representation as just a constant if all bits are known.
Use decimal-vs-hex logic to determine exact format of emitted
constant value, just like it's done for register range values.
For that move tnum_strn() to kernel/bpf/log.c to reuse decimal-vs-hex
determination logic and constants.

Acked-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20231202175705.885270-12-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
kernel/bpf/log.c
kernel/bpf/tnum.c
tools/testing/selftests/bpf/progs/verifier_direct_packet_access.c
tools/testing/selftests/bpf/progs/verifier_int_ptr.c
tools/testing/selftests/bpf/progs/verifier_stack_ptr.c