[CRIU] [PATCHv3 07/30] parasite-head-32: fix cmd & args load

Dmitry Safonov dsafonov at virtuozzo.com
Tue Jun 28 12:24:00 PDT 2016


Seems like, offset was broken. And it had typo: leal -> movl
(according to 64-bit parasite header), as cmd parameter is int
(not pointer to int) in parasite_service:
int __used __parasite_entry parasite_service(unsigned int cmd, void *args)
Fixed - loads good now.

Cc: Cyrill Gorcunov <gorcunov at openvz.org>
Signed-off-by: Dmitry Safonov <dsafonov at virtuozzo.com>
---
 criu/arch/x86/parasite-head-32.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/criu/arch/x86/parasite-head-32.S b/criu/arch/x86/parasite-head-32.S
index cafbe8115bf1..132d912bba86 100644
--- a/criu/arch/x86/parasite-head-32.S
+++ b/criu/arch/x86/parasite-head-32.S
@@ -14,8 +14,8 @@ ENTRY(__export_parasite_head_start)
 	movl	%esp, %ebp
 	call	1f
 1:	popl	%ecx
-2:	leal	(__export_parasite_cmd-2b)(%ecx), %eax
-	leal	(__export_parasite_args-2b)(%ecx), %edx
+	movl	(__export_parasite_cmd-1b)(%ecx), %eax
+	leal	(__export_parasite_args-1b)(%ecx), %edx
 	call	parasite_service
 	int	$0x03
 	.align 8
-- 
2.9.0



More information about the CRIU mailing list