diff options
author | Yonghong Song <yhs@fb.com> | 2022-06-13 08:43:14 +0300 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2022-06-14 18:01:54 +0300 |
commit | c49a44b39b313a4191ca2f06316c547ee673264e (patch) | |
tree | 07804cbfb15725bbea1db0e9a2b0ba15c6dfcfcf /arch | |
parent | 6dbdc9f35360d4ef4704462c265f63b32fcb5354 (diff) | |
download | linux-c49a44b39b313a4191ca2f06316c547ee673264e.tar.xz |
libbpf: Fix an unsigned < 0 bug
Andrii reported a bug with the following information:
2859 if (enum64_placeholder_id == 0) {
2860 enum64_placeholder_id = btf__add_int(btf, "enum64_placeholder", 1, 0);
>>> CID 394804: Control flow issues (NO_EFFECT)
>>> This less-than-zero comparison of an unsigned value is never true. "enum64_placeholder_id < 0U".
2861 if (enum64_placeholder_id < 0)
2862 return enum64_placeholder_id;
2863 ...
Here enum64_placeholder_id declared as '__u32' so enum64_placeholder_id < 0
is always false. Declare enum64_placeholder_id as 'int' in order to capture
the potential error properly.
Fixes: f2a625889bb8 ("libbpf: Add enum64 sanitization")
Reported-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20220613054314.1251905-1-yhs@fb.com
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions