From eb6b1b22969fc2add85fcb6a5e13cd552c528b05 Mon Sep 17 00:00:00 2001 From: Eugene Loh Date: Mon, 4 Mar 2019 22:08:03 +0800 Subject: [PATCH] kallsyms: Handle too long symbols in kallsyms.c mainline inclusion from mainline-5.0-rc8 commit 6db2983cd806 category: bugfix bugzilla: 10868 CVE: NA ------------------------------------------------- When checking for symbols with excessively long names, account for null terminating character. Fixes: f3462aa952cf ("Kbuild: Handle longer symbols in kallsyms.c") Signed-off-by: Eugene Loh Acked-by: Ard Biesheuvel Signed-off-by: Masahiro Yamada Signed-off-by: Cheng Jian Reviewed-by: Hanjun Guo Signed-off-by: Yang Yingliang --- scripts/kallsyms.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c index a9186a98a37d..0c9c54b57515 100644 --- a/scripts/kallsyms.c +++ b/scripts/kallsyms.c @@ -120,8 +120,8 @@ static int read_symbol(FILE *in, struct sym_entry *s) fprintf(stderr, "Read error or end of file.\n"); return -1; } - if (strlen(sym) > KSYM_NAME_LEN) { - fprintf(stderr, "Symbol %s too long for kallsyms (%zu vs %d).\n" + if (strlen(sym) >= KSYM_NAME_LEN) { + fprintf(stderr, "Symbol %s too long for kallsyms (%zu >= %d).\n" "Please increase KSYM_NAME_LEN both in kernel and kallsyms.c\n", sym, strlen(sym), KSYM_NAME_LEN); return -1; -- GitLab