diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2023-09-08 19:33:35 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2023-09-12 23:15:46 +0300 |
commit | a8f12572860ad8ba659d96eee9cf09e181f6ebcc (patch) | |
tree | a8ec32c23df4f45876536beab7aa9e13aa392c27 /kernel/bpf | |
parent | 4eb94a7793074f799b1f558471019e9a21fa9546 (diff) | |
download | linux-a8f12572860ad8ba659d96eee9cf09e181f6ebcc.tar.xz |
bpf: Fix a erroneous check after snprintf()
snprintf() does not return negative error code on error, it returns the
number of characters which *would* be generated for the given input.
Fix the error handling check.
Fixes: 57539b1c0ac2 ("bpf: Enable annotating trusted nested pointers")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/393bdebc87b22563c08ace094defa7160eb7a6c0.1694190795.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf')
-rw-r--r-- | kernel/bpf/btf.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c index 1095bbe29859..8090d7fb11ef 100644 --- a/kernel/bpf/btf.c +++ b/kernel/bpf/btf.c @@ -8501,7 +8501,7 @@ bool btf_nested_type_is_trusted(struct bpf_verifier_log *log, tname = btf_name_by_offset(btf, walk_type->name_off); ret = snprintf(safe_tname, sizeof(safe_tname), "%s%s", tname, suffix); - if (ret < 0) + if (ret >= sizeof(safe_tname)) return false; safe_id = btf_find_by_name_kind(btf, safe_tname, BTF_INFO_KIND(walk_type->info)); |