[CRIU] [PATCH] criu: x86_32: change stack align to 16 bit on parasite head

Dmitry Safonov dsafonov at odin.com
Mon Dec 7 06:39:51 PST 2015


GCC now assumes by default that the stack is aligned to a 16-byte boundary.
It's very unlikely that parasite head's first call will contain
an SSE instruction which will segfault, but to be pedantically correct
will lose additional 8 bytes.

See also:
http://sourceforge.net/p/fbc/bugs/659/

Signed-off-by: Dmitry Safonov <dsafonov at odin.com>
---
 arch/x86/parasite-head.S | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/parasite-head.S b/arch/x86/parasite-head.S
index b61b712..5fb00a5 100644
--- a/arch/x86/parasite-head.S
+++ b/arch/x86/parasite-head.S
@@ -22,8 +22,8 @@ END(__export_parasite_head_start)
 #else /* CONFIG_X86_64 */
 
 ENTRY(__export_parasite_head_start)
-	subl	$8, %esp
-	andl	$~7, %esp
+	subl	$16, %esp
+	andl	$~15, %esp
 	pushl	$0
 	movl	%esp, %ebp
 	call	1f
-- 
2.6.3



More information about the CRIU mailing list