aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2013-10-23 15:07:53 +0200
committerMoyster <oysterized@gmail.com>2018-11-29 15:53:27 +0100
commitbdd71cc0a6369c6e0761b5af639f63f0e9d2a11c (patch)
tree7918838eeee0cbb62d9efe5ba88bc933b7ec2076 /scripts
parent66dd468c39bcb7d2964cb1ee9f33f71493a1b7f5 (diff)
Kbuild: Handle longer symbols in kallsyms.c
Also warn for too long symbols v2: Add missing newline. Use 255 max (Joe Perches) Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kallsyms.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
index 9a11f9f79..11552e02e 100644
--- a/scripts/kallsyms.c
+++ b/scripts/kallsyms.c
@@ -27,7 +27,7 @@
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr[0]))
#endif
-#define KSYM_NAME_LEN 128
+#define KSYM_NAME_LEN 255
struct sym_entry {
unsigned long long addr;
@@ -115,6 +115,12 @@ static int read_symbol(FILE *in, struct sym_entry *s)
fprintf(stderr, "Read error or end of file.\n");
return -1;
}
+ if (strlen(str) > KSYM_NAME_LEN) {
+ fprintf(stderr, "Symbol %s too long for kallsyms (%lu vs %d).\n"
+ "Please increase KSYM_NAME_LEN both in kernel and kallsyms.c\n",
+ str, strlen(str), KSYM_NAME_LEN);
+ return -1;
+ }
sym = str;
/* skip prefix char */