• Andrey Vagin's avatar
    parasite: allocate stack for each thread · 294d62dd
    Andrey Vagin authored
    It will be used for executed parasite as a daemon.
    What we have previously -- the stack has been preallocated in parasite
    blob itself and bootstrap procedure calculated the value needed for %rsp.
    
    With this patch applied we provide every thread own stack as:
    
    - find out how many threads are present
    - calculate the summary size of all stacks
    - when we ask dumpee to provide us memory area needed to run
      parasite code, we pass summary size needed for everything
    - when parasite code is asked to run we calculate %rsp needed
      taking into account the thread number (ie offsets) and then
      setup proper %rsp via ptrace call, instead of calculating it
      in bootstrap parasite code
    Signed-off-by: 's avatarAndrey Vagin <avagin@openvz.org>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    294d62dd
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
include Loading commit data...
pie Loading commit data...
protobuf Loading commit data...
scripts Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Makefile Loading commit data...
Makefile.config Loading commit data...
Makefile.crtools Loading commit data...
Makefile.inc Loading commit data...
README Loading commit data...
cr-check.c Loading commit data...
cr-dump.c Loading commit data...
cr-exec.c Loading commit data...
cr-restore.c Loading commit data...
cr-show.c Loading commit data...
crtools Loading commit data...
crtools.c Loading commit data...
eventfd.c Loading commit data...
eventpoll.c Loading commit data...
fifo.c Loading commit data...
file-ids.c Loading commit data...
file-lock.c Loading commit data...
files-reg.c Loading commit data...
files.c Loading commit data...
fsnotify.c Loading commit data...
image.c Loading commit data...
ipc_ns.c Loading commit data...
kcmp-ids.c Loading commit data...
kerndat.c Loading commit data...
libnetlink.c Loading commit data...
log.c Loading commit data...
mem.c Loading commit data...
mount.c Loading commit data...
namespaces.c Loading commit data...
net.c Loading commit data...
netfilter.c Loading commit data...
page-pipe.c Loading commit data...
page-read.c Loading commit data...
page-xfer.c Loading commit data...
parasite-syscall.c Loading commit data...
pipes.c Loading commit data...
proc_parse.c Loading commit data...
protobuf.c Loading commit data...
pstree.c Loading commit data...
ptrace.c Loading commit data...
rbtree.c Loading commit data...
shmem.c Loading commit data...
sigframe.c Loading commit data...
signalfd.c Loading commit data...
sk-inet.c Loading commit data...
sk-netlink.c Loading commit data...
sk-packet.c Loading commit data...
sk-queue.c Loading commit data...
sk-tcp.c Loading commit data...
sk-unix.c Loading commit data...
sockets.c Loading commit data...
stats.c Loading commit data...
sysctl.c Loading commit data...
tty.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...