[Devel] [PATCH] return correct error code from child_rip in x86_64 entry.S

Andrey Mirkin major at openvz.org
Wed Sep 19 07:26:25 PDT 2007


From: Andrey Mirkin <major at openvz.org>

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.

Signed-off-by: Andrey Mirkin <major at openvz.org>

-----

diff --git a/arch/x86_64/kernel/entry.S b/arch/x86_64/kernel/entry.S
index 1d232e5..ac6400e 100644
--- a/arch/x86_64/kernel/entry.S
+++ b/arch/x86_64/kernel/entry.S
@@ -989,7 +989,7 @@ child_rip:
 	movq %rsi, %rdi
 	call *%rax
 	# exit
-	xorl %edi, %edi
+	movq %rax, %rdi
 	call do_exit
 	CFI_ENDPROC
 ENDPROC(child_rip)




More information about the Devel mailing list