[PATCH] i386: Fix fake return address
authorJeremy Fitzhardinge <[email protected]>
Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)
committerAndi Kleen <[email protected]>
Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)
The fake return address was being set to __KERNEL_PDA, rather than 0.
Push it earlier while %eax still equals 0.

Signed-off-by: Jeremy Fitzhardinge <[email protected]>
Signed-off-by: Andi Kleen <[email protected]>
Cc: Andi Kleen <[email protected]>
Cc: Andrew Morton <[email protected]>
arch/i386/kernel/head.S

index be9d883c62ce0302995b56c830530670902a7fe6..ca31f18d277c5487e3afab809783f9d79beb4fbe 100644 (file)
@@ -317,7 +317,7 @@ is386:      movl $2,%ecx            # set MP
        movl %eax,%gs
        lldt %ax
        cld                     # gcc2 wants the direction flag cleared at all times
-       pushl %eax              # fake return address
+       pushl $0                # fake return address for unwinder
 #ifdef CONFIG_SMP
        movb ready, %cl
        movb $1, ready