Quoting Nathan Lynch ([email protected]):
> On Thu, 2009-11-12 at 23:24 -0600, [email protected] wrote:
> > +   if (use_clone) {
> > +           int stacksize = 4*getpagesize();
> > +           void *stack = malloc(stacksize);
> > +
> > +           if (!stack) {
> > +                   perror("malloc");
> > +                   return -1;
> > +           }
> > +
> > +           printf("about to clone with %lx\n", flags);
> > +           if (chosen_pid)
> > +                   printf("Will choose pid %d\n", chosen_pid);
> > +           flags |= SIGCHLD;
> > +           pid = clone_with_pids(do_child, stack, flags, &pid_set,
> > +                                   (void *)argv);
> 
> The stack argument should be adjusted with the usual stack += stacksize
> - 1 or similar, right?

the clone_with_pids() helper in user-cr/clone_s390x.c (and IIRC the
x86 one by Suka also) does this implicitly, by doing:

        s = child_stack;
        *--s = arg;
        *--s = fn;
        child_stack -= 16

-serge
_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to