diff options
author | Andrey Mirkin <major@openvz.org> | 2007-10-17 12:04:33 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 14:15:29 -0400 |
commit | 1c5b5cfd290b6cb7c67020ef420e275f746a7236 (patch) | |
tree | 952d52bb9ea667c068e3c809b71911ae6d2bec98 /arch/x86 | |
parent | aa506dc7b12d03fbf8fd11aab752aed1aadd9c07 (diff) |
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>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index f1cacd4897f7..3a058bb16409 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -988,7 +988,7 @@ child_rip: | |||
988 | movq %rsi, %rdi | 988 | movq %rsi, %rdi |
989 | call *%rax | 989 | call *%rax |
990 | # exit | 990 | # exit |
991 | xorl %edi, %edi | 991 | mov %eax, %edi |
992 | call do_exit | 992 | call do_exit |
993 | CFI_ENDPROC | 993 | CFI_ENDPROC |
994 | ENDPROC(child_rip) | 994 | ENDPROC(child_rip) |