No description
Find a file
Cyrill Gorcunov 4cff708663 tty: Make sure the controlling terminal is restored by session leader
The controling terminal should be sestored by a session leader,
thus we need to test if the SID we've found in process tree
is a leader.

Otherwise we might have pretty interesting situation: the user
passed -j on dump, ie telling us to inherit shell jobs and on
restore procedure the SID get inherited from the crtools but
session leader for this sid doesn't belong to our peocess tree
and thus we should not try to restore controlling terminal
but inherit it as well.

Reported-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-11-20 21:05:17 +04:00
Documentation docs: Update documentation 2012-10-18 19:47:17 +04:00
include cr-restore: remove unshared pages from inherited private mappings (v2) 2012-11-20 20:48:33 +04:00
protobuf protobuf: Add @blk_sigset to thread_core_entry 2012-11-12 17:42:47 +04:00
test zdtm: add new test case for testing logic about COW memory (v2) 2012-11-20 20:48:36 +04:00
.gitignore Update .gitignore 2012-07-09 15:03:38 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
COPYING Add COPYING file 2011-12-05 14:11:05 +04:00
cr-check.c check: Set error log level before checking 2012-11-12 17:04:24 +03:00
cr-dump.c dump: Fix message in thread dumping 2012-11-12 17:42:59 +04:00
cr-restore.c restore: add statistics about restored pages 2012-11-20 20:48:34 +04:00
cr-show.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
crtools.c crtools: update the usage message for log level 2012-11-02 13:45:25 +04:00
eventfd.c eventfd: Add LOG_PREFIX 2012-08-20 15:14:43 +04:00
eventpoll.c files: Hide pslist selection logic into file desc handlers 2012-09-14 21:53:51 +04:00
fifo.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
file-ids.c protobuf: Start switching our image entries to Google's protobuf 2012-07-17 07:10:41 +04:00
files-reg.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
files.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
gen-offsets.sh make: Generate offsets from linked files only 2012-04-18 18:22:15 +04:00
image.c tty: Add show method 2012-09-12 20:00:55 +04:00
inotify.c inotify: Add LOG_PREFIX 2012-08-20 15:14:57 +04:00
ipc_ns.c ipc_ns: close file immediately when we don't need it 2012-10-26 00:08:47 +04:00
kcmp-ids.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
libnetlink.c libnetlink: Make sure there is no error happened when dumping is done 2012-11-06 13:41:36 +04:00
log-simple.c log: Introduce a simple printf-like logging engine 2012-10-07 21:06:46 +04:00
log.c log: Don't show time stamp on pr_msg 2012-11-06 13:37:15 +04:00
Makefile tty: Add checkpoint/restore for unix terminals v6 2012-09-12 20:00:54 +04:00
Makefile.inc make: Move common definitions to Makefile.inc 2012-09-02 00:58:37 +04:00
Makefile.pie parasite: Use simple logging engine 2012-10-07 21:12:40 +04:00
Makefile.syscall make: Disable stack executable bit 2012-07-20 19:39:25 +04:00
mount.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
namespaces.c crtools: use a special function for executing external utils 2012-09-28 14:09:58 +04:00
net.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
netfilter.c sockets, inet: Use inet_sk_entry as a reference in inet_sk_info 2012-07-16 07:03:59 +04:00
parasite-head-x86-64.S parasite: Move bootstrap code into parasite-head-x86-64.S 2012-04-18 18:22:52 +04:00
parasite-syscall.c parasite: Macro for getting parasite symbols 2012-11-13 20:51:32 +03:00
parasite.c dump: Checkpoint per-thread blocked signals 2012-11-12 17:42:56 +04:00
pie.lds.S make: Generate offsets from linked files only 2012-04-18 18:22:15 +04:00
pipes.c files: Formalize fd restore priorities 2012-09-14 22:09:22 +04:00
proc_parse.c proc: Fix anon shmem mapping detection 2012-11-06 19:07:38 +03:00
protobuf.c protobuf: Drop dangling \Space 2012-11-11 13:28:59 +04:00
pstree.c pstree: Allow to dump and restore session non-leaders if --shell-job passed 2012-10-18 15:51:58 +04:00
ptrace.c Helper for si_code event extraction. 2012-04-25 21:35:40 +04:00
rbtree.c code: Fix spaced indentation where found 2012-08-11 21:36:03 +04:00
README Drop kernel patching from README 2012-01-29 16:26:36 +04:00
restorer.c restorer: don't need to restore pages content in restorer 2012-11-20 20:48:31 +04:00
shmem.c shmem: Get rid of static array of dumped shmem areas 2012-08-17 00:20:58 +04:00
signalfd.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
sk-inet.c skopts: Prepare for xmalloc-able entries on SkOptsEntry 2012-11-01 17:53:57 +03:00
sk-packet.c packet: Support mmap-ing of packet sockets 2012-11-02 16:00:18 +03:00
sk-queue.c socket: increase socket buffers for restoring queues (v2) 2012-11-02 13:40:54 +04:00
sk-tcp.c tcp: check a state in refresh_inet_sk (v2) 2012-11-20 17:17:51 +04:00
sk-unix.c unix: restore file params and sockopts for all standalone sockets 2012-11-02 14:38:48 +04:00
sockets.c socket: increase socket buffers for restoring queues (v2) 2012-11-02 13:40:54 +04:00
syscall-common-x86-64.S syscalls: Complete redesign v9 2012-04-18 18:23:19 +04:00
syscalls-x86-64.sh syscalls: Complete redesign v9 2012-04-18 18:23:19 +04:00
sysctl.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
tty.c tty: Make sure the controlling terminal is restored by session leader 2012-11-20 21:05:17 +04:00
util-net.c fown: get pid and uid-s from parasite 2012-09-05 16:41:14 +04:00
util.c util: Fix vma shmid printing format 2012-11-02 14:46:51 +03:00
uts_ns.c code: Remove trailing whitespaces over .c and .h files 2012-08-11 21:34:35 +04:00

crtools
=======

An utility to checkpoint/restore tasks.

Some code snippets are borrowed from

 - Linux kernel (http://kernel.org/)
 - git (http://git-scm.com/)
 - kvm-tools (https://github.com/penberg/linux-kvm)
 - ptrace-parasite (https://code.google.com/p/ptrace-parasite/)

Many thanks to these projects.

Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)