[lxc-devel] [PATCH 2/2] Fix for ia64: Use __clone2 for ia64 in lxc/start.c

Dennis Schridde devurandom at gmx.net
Mon Mar 18 16:55:16 UTC 2013


---
 src/lxc/start.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/lxc/start.c b/src/lxc/start.c
index 3fdfa04..a95708a 100644
--- a/src/lxc/start.c
+++ b/src/lxc/start.c
@@ -564,7 +564,7 @@ static int must_drop_cap_sys_boot(void)
 	FILE *f = fopen("/proc/sys/kernel/ctrl-alt-del", "r");
 	int ret, cmd, v;
         long stack_size = 4096;
-        void *stack = alloca(stack_size) + stack_size;
+        void *stack = alloca(stack_size);
         int status;
         pid_t pid;
 
@@ -581,7 +581,12 @@ static int must_drop_cap_sys_boot(void)
 	}
 	cmd = v ? LINUX_REBOOT_CMD_CAD_ON : LINUX_REBOOT_CMD_CAD_OFF;
 
+#ifdef __ia64__
+        pid = __clone2(container_reboot_supported, stack, stack_size, CLONE_NEWPID | SIGCHLD, &cmd);
+#else
+        stack += stack_size;
         pid = clone(container_reboot_supported, stack, CLONE_NEWPID | SIGCHLD, &cmd);
+#endif
         if (pid < 0) {
                 SYSERROR("failed to clone\n");
                 return -1;
-- 
1.8.1.5





More information about the lxc-devel mailing list