]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
x86: return correct error code from child_rip in x86_64 entry.S
authorAndrey Mirkin <major@openvz.org>
Wed, 17 Oct 2007 16:04:33 +0000 (18:04 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 26 Nov 2007 17:42:31 +0000 (09:42 -0800)
patch 1c5b5cfd290b6cb7c67020ef420e275f746a7236 in mainline.

x86: return correct error code from child_rip in x86_64 entry.S

Right now register edi is just cleared before calling do_exit.
That is wrong because correct return value will be ignored.
Value from rax should be copied to rdi instead of clearing edi.

AK: changed to 32bit move because it's strictly an int

[ tglx: arch/x86 adaptation ]

Signed-off-by: Andrey Mirkin <major@openvz.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86_64/kernel/entry.S

index 1d232e5f5658e889ef8642fc98301b3f9527fbe1..a6aad3996f8500f90d1ca96460c2f36f2c4261cf 100644 (file)
@@ -989,7 +989,7 @@ child_rip:
        movq %rsi, %rdi
        call *%rax
        # exit
-       xorl %edi, %edi
+       mov %eax, %edi
        call do_exit
        CFI_ENDPROC
 ENDPROC(child_rip)