• Cyrill Gorcunov's avatar
    creds: dump -- Implement per-thread dump of credentials · e9fc593c
    Cyrill Gorcunov authored
    This as well as restore requires several steps to reach per-thread
    support during dump stage
    
     - @creds area to be fetched from the parasite is embedded into
       parasite_dump_structure
    
     - when test for task to be dumpable we no longer compare caps
       because we now allow them to be different (and I renamed
       proc_status_creds_eq to proc_status_creds_dumpable for this
       sake)
    
     - have to extend dump_thread_common to support dumping of
       creds (we call for dump_thread_common in several places,
       in particular when we need to fetch misc params we don't
       need creds, here @creds option comes into the play)
    
     - after this patch no creds-X.img file be generated anymore,
       I guess we might drop it off with time from descriptors
    
    https://jira.sw.ru/browse/PSBM-41416
    
    v2:
     - In dump_task_creds() don't mangle the call for parasite_dump_creds
       and collect_lsm_profile
     - PARASITE_MAX_GROUPS takes parasite_dump_thread into account because
       dump_thread_common now serves two cases: for plain misc parameters
       fetching and for creds as well (depending on the context)
     - when test for dumpable we still require the seccomp filters
       to match, they can be different and we need to support such
       configuration too but not in this series
    
    v3:
     - Rip off dump_task_creds completely, together with PARASITE_CMD_DUMP_CREDS,
       we dump creds unconditionally in dump_thread_common
     - the group leader thread data is fetched via new
       parasite_dump_thread_leader_seized helper
    Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
    Acked-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
    Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
    e9fc593c
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
contrib Loading commit data...
include Loading commit data...
lib Loading commit data...
pie Loading commit data...
protobuf Loading commit data...
pycriu Loading commit data...
scripts Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Dockerfile Loading commit data...
Makefile Loading commit data...
Makefile.config Loading commit data...
Makefile.crtools Loading commit data...
Makefile.inc Loading commit data...
README.md Loading commit data...
action-scripts.c Loading commit data...
aio.c Loading commit data...
bfd.c Loading commit data...
bitmap.c Loading commit data...
cgroup.c Loading commit data...
cr-check.c Loading commit data...
cr-dedup.c Loading commit data...
cr-dump.c Loading commit data...
cr-errno.c Loading commit data...
cr-exec.c Loading commit data...
cr-restore.c Loading commit data...
cr-service.c Loading commit data...
cr-show.c Loading commit data...
crit Loading commit data...
crtools Loading commit data...
crtools.c Loading commit data...
eventfd.c Loading commit data...
eventpoll.c Loading commit data...
fault-injection.c Loading commit data...
fifo.c Loading commit data...
file-ids.c Loading commit data...
file-lock.c Loading commit data...
files-ext.c Loading commit data...
files-reg.c Loading commit data...
files.c Loading commit data...
fsnotify.c Loading commit data...
image-desc.c Loading commit data...
image.c Loading commit data...
ipc_ns.c Loading commit data...
irmap.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...
lsm.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...
pagemap-cache.c Loading commit data...
parasite-syscall.c Loading commit data...
pipes.c Loading commit data...
plugin.c Loading commit data...
proc_parse.c Loading commit data...
protobuf-desc.c Loading commit data...
protobuf.c Loading commit data...
pstree.c Loading commit data...
ptrace.c Loading commit data...
rbtree.c Loading commit data...
rst-malloc.c Loading commit data...
seccomp.c Loading commit data...
security.c Loading commit data...
seize.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...
string.c Loading commit data...
sysctl.c Loading commit data...
sysfs_parse.c Loading commit data...
timerfd.c Loading commit data...
tty.c Loading commit data...
tun.c Loading commit data...
util.c Loading commit data...
uts_ns.c Loading commit data...
vdso.c Loading commit data...