From: Dennis Schridde Date: Mon, 18 Mar 2013 16:55:16 +0000 (+0100) Subject: Fix for ia64: Use __clone2 for ia64 in lxc/start.c X-Git-Tag: lxc-0.9.0~1^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f145a6d0da7718efd4b260df162d2996811a508;p=thirdparty%2Flxc.git Fix for ia64: Use __clone2 for ia64 in lxc/start.c Signed-off-by: Dennis Schridde Acked-by: Serge E. Hallyn --- diff --git a/src/lxc/start.c b/src/lxc/start.c index fd3ad7b3a..aefccd650 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;