Kbuild: Handle longer symbols in kallsyms.c
authorAndi Kleen <andi@firstfloor.org>
Wed, 23 Oct 2013 13:07:53 +0000 (15:07 +0200)
committerMichal Marek <mmarek@suse.cz>
Wed, 6 Nov 2013 21:25:49 +0000 (22:25 +0100)
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>
scripts/kallsyms.c

index 487ac6f37ca23ce2d1e832fa177d74d4544386bf..967522ab4f3902b0c8914bf7038b588741b64d91 100644 (file)
@@ -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;
@@ -111,6 +111,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 */