public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix kallsyms crashes in 2.5.54
@ 2003-01-02  9:13 Andi Kleen
  2003-01-02 11:52 ` Andrew Morton
  0 siblings, 1 reply; 7+ messages in thread
From: Andi Kleen @ 2003-01-02  9:13 UTC (permalink / raw)
  To: torvalds, linux-kernel; +Cc: andrew.morton


The kernel symbol stem compression patch included in 2.5.54 unfortunately
had a few problems, triggered by various circumstances.

On some gas \x... in string constants seems to randomly eat any following
hex like character.

Hardens it more against bogus symbol table entries.

This should fix the reported crashes. No need anymore for akpm to 
back it out.

Please apply.

-Andi



--- linux-vanilla/kernel/kallsyms.c	2003-01-02 06:55:55.000000000 +0100
+++ linux/kernel/kallsyms.c	2003-01-02 11:06:30.000000000 +0100
@@ -32,6 +32,7 @@
 		BUG();
 
 	namebuf[127] = 0;
+	namebuf[0] = 0;
 
 	if (addr >= (unsigned long)_stext && addr <= (unsigned long)_etext) {
 		unsigned long symbol_end;
@@ -46,9 +47,9 @@
 
 		/* Grab name */
 		for (i = 0; i < best; i++) { 
-			++name;
-			strncpy(namebuf + name[-1], name, 127); 
-			name += strlen(name)+1;
+			unsigned prefix = *name++;
+			strncpy(namebuf + prefix, name, 127); 
+			name += strlen(name) + 1; 
 		} 
 
 		/* Base symbol size on next symbol. */
--- linux-vanilla/scripts/kallsyms.c	2003-01-02 06:55:56.000000000 +0100
+++ linux/scripts/kallsyms.c	2003-01-02 11:02:18.000000000 +0100
@@ -144,7 +144,7 @@
 		for (k = 0; table[i].sym[k] && table[i].sym[k] == prev[k]; ++k)
 			; 
 
-		printf("\t.asciz\t\"\\x%02x%s\"\n", k, table[i].sym + k);
+		printf("\t.byte 0x%02x ; .asciz\t\"%s\"\n", k, table[i].sym + k);
 		last_addr = table[i].addr;
 		prev = table[i].sym;
 	}

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2003-01-03 13:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-01-02  9:13 [PATCH] Fix kallsyms crashes in 2.5.54 Andi Kleen
2003-01-02 11:52 ` Andrew Morton
2003-01-02 12:00   ` Andi Kleen
2003-01-02 12:16     ` Andrew Morton
2003-01-02 13:06       ` One-way Gigabit Ethernet TCP performance with Jumbo frames Steffen Persvold
2003-01-03 13:25         ` Robert Olsson
2003-01-02 18:02     ` [PATCH] Fix kallsyms crashes in 2.5.54 Rudmer van Dijk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox