aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorGravatar Fedor Tokarev <ftokarev@gmail.com> 2022-07-11 23:13:17 +0200
committerGravatar Andrii Nakryiko <andrii@kernel.org> 2022-07-29 09:57:14 -0700
commit58250ae350de8d28ce91ade4605d32c9e7f062a8 (patch)
tree699ec084b200525aa749648350154a45a154e4f9 /kernel
parentlibbpf: Support PPC in arch_specific_syscall_pfx (diff)
downloadlinux-58250ae350de8d28ce91ade4605d32c9e7f062a8.tar.gz
linux-58250ae350de8d28ce91ade4605d32c9e7f062a8.tar.bz2
linux-58250ae350de8d28ce91ade4605d32c9e7f062a8.zip
bpf: btf: Fix vsnprintf return value check
vsnprintf returns the number of characters which would have been written if enough space had been available, excluding the terminating null byte. Thus, the return value of 'len_left' means that the last character has been dropped. Signed-off-by: Fedor Tokarev <ftokarev@gmail.com> Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Acked-by: Alan Maguire <alan.maguire@oracle.com> Link: https://lore.kernel.org/bpf/20220711211317.GA1143610@laptop
Diffstat (limited to 'kernel')
-rw-r--r--kernel/bpf/btf.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 7ac971ea98d1..7e64447659f3 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -6643,7 +6643,7 @@ static void btf_snprintf_show(struct btf_show *show, const char *fmt,
if (len < 0) {
ssnprintf->len_left = 0;
ssnprintf->len = len;
- } else if (len > ssnprintf->len_left) {
+ } else if (len >= ssnprintf->len_left) {
/* no space, drive on to get length we would have written */
ssnprintf->len_left = 0;
ssnprintf->len += len;