diff options
| author | Andi Kleen <andi@firstfloor.org> | 2013-10-23 15:07:53 +0200 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2018-11-29 15:53:27 +0100 |
| commit | bdd71cc0a6369c6e0761b5af639f63f0e9d2a11c (patch) | |
| tree | 7918838eeee0cbb62d9efe5ba88bc933b7ec2076 /scripts/kallsyms.c | |
| parent | 66dd468c39bcb7d2964cb1ee9f33f71493a1b7f5 (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/kallsyms.c')
| -rw-r--r-- | scripts/kallsyms.c | 8 |
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 */ |
