]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
Fix for ia64: Use __clone2 for ia64 in lxc/start.c
authorDennis Schridde <devurandom@gmx.net>
Mon, 18 Mar 2013 16:55:16 +0000 (17:55 +0100)
committerStéphane Graber <stgraber@ubuntu.com>
Tue, 19 Mar 2013 13:18:30 +0000 (09:18 -0400)
Signed-off-by: Dennis Schridde <devurandom@gmx.net>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
src/lxc/start.c

index fd3ad7b3a963226c096a43f6c861a09dbad65e13..aefccd6505008dc7681f90d5b271287ebd13f1b5 100644 (file)
@@ -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;