diff options
| author | Alexei Starovoitov <[email protected]> | 2024-01-12 22:01:34 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2024-01-23 22:40:23 +0000 |
| commit | 49c06547d5218b54fbcc6011864b8c8e3aa0b565 (patch) | |
| tree | 16ac97b8b9e0c296cdffe5603c10c33cd7b52665 /tools/bpf/bpftool/prog.c | |
| parent | docs/bpf: Fix an incorrect statement in verifier.rst (diff) | |
| download | kernel-49c06547d5218b54fbcc6011864b8c8e3aa0b565.tar.gz kernel-49c06547d5218b54fbcc6011864b8c8e3aa0b565.zip | |
bpf: Minor improvements for bpf_cmp.
Few minor improvements for bpf_cmp() macro:
. reduce number of args in __bpf_cmp()
. rename NOFLIP to UNLIKELY
. add a comment about 64-bit truncation in "i" constraint
. use "ri" constraint for sizeof(rhs) <= 4
. improve error message for bpf_cmp_likely()
Before:
progs/iters_task_vma.c:31:7: error: variable 'ret' is uninitialized when used here [-Werror,-Wuninitialized]
31 | if (bpf_cmp_likely(seen, <==, 1000))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../bpf/bpf_experimental.h:325:3: note: expanded from macro 'bpf_cmp_likely'
325 | ret;
| ^~~
progs/iters_task_vma.c:31:7: note: variable 'ret' is declared here
../bpf/bpf_experimental.h:310:3: note: expanded from macro 'bpf_cmp_likely'
310 | bool ret;
| ^
After:
progs/iters_task_vma.c:31:7: error: invalid operand for instruction
31 | if (bpf_cmp_likely(seen, <==, 1000))
| ^
../bpf/bpf_experimental.h:324:17: note: expanded from macro 'bpf_cmp_likely'
324 | asm volatile("r0 " #OP " invalid compare");
| ^
<inline asm>:1:5: note: instantiated into assembly here
1 | r0 <== invalid compare
| ^
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Daniel Borkmann <[email protected]>
Acked-by: Yonghong Song <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'tools/bpf/bpftool/prog.c')
0 files changed, 0 insertions, 0 deletions
