Jingxian He (21): build: add secure compilation options mm: add pin memory method for criu pid: add pid recover method for criu notifier: add notifier calling method for checkpoint and restore cred: provide cred checkpoint restore method block-device: dump block device as reguler file anon-inode: add support for anon inode fd char_dev: add support for char device dump and restore socket: fix connect error of invalid param criu: eventpollfd fix for improper usage in appdata task_exit_notify: add task exit notify mask method for criu looser file mode and size check add O_REPAIR flag to vma fd add reuse file method for recover deleted file state fix share sockets repair problem remove sigaction handler register in restorer fix fds list restore and rollback problem improve char dev fd check and repair method optimization: parallel collecting vmas net: improve nft table set clear method add exec file mapping pin method
Liu Chao (3): save and restore sigev_notify_thread_id unlock network when restore fails save src ports to ip_local_reserved_ports when dump tasks and retore it when restore tasks
Luo Longjun (1): unix socket: add support for unix stream socket
Sang Yan (3): file-lock: add repair mode to dump file locks net: add shared socket recover method for criu clean repair res when dump fail
Xiaoguang Li (2): selinux: fix selinux context lable check add netlink repair modes
Zhuling (2): fix dump fail problem with null seek op fix dump fail problem with no access to get socket filter
anatasluo (1): vdso: fix segmentation fault caused by char pointer array
fu.lin (34): criu: dump and restore cpu affinity of each thread tty: fix NULL pointer access in tty namespaces: drop func address print to make someone happy zdtm: fix zdtm/static/maps00 case in arm64 test: flush ipt rules after program exits zdtm: fix cleaning step of zdtm_netns sysvshm: add dump/restore sysv-shm in host ipc ns proc parse: fix vma offset value for the sysfs file of pci devices nftables: add mnl api nftables: implement nft api for tcp nftables: implement nft api for lock net ns criu: switch to nftables api mmap: restore /dev/hisi_sec2* deivce vma log: print error log to /dev/kmsg unix sk: improve dgram robustness sk: ignore the bind error for icmp socket infiniband: fix the infiniband fd conflict ptrace: trace specific syscall notifier: rollback when open img failed detach: don't kill task when `ptrace(PTRACE_DETACH)` return ESRCH zdtm: unlink kdat before testing sysvshm: fix bug caused by sscanf zdtm: add host ns sysvshm ipc case zdtm: add pinmem testcase zdtm: init notifier testcase zdtm: print errno info when accessing *.out failure zdtm: print more info for fs.c zdtm: add chardev testcase zdtm: add infiniband testcase zdtm: add share port testcase zdtm: tmp test script mod: add criu-indepent test zdtm: fix py bug kabichk: add KABI check code
lingsheng (3): Fix crit encode TypeError Fix crit info struct unpack error Fix crit x UnicodeDecodeError
root (1): add clear pin mem and init page map option
Makefile | 4 + compel/Makefile | 1 + compel/arch/aarch64/src/lib/infect.c | 2 +- .../arch/arm/plugins/std/syscalls/syscall.def | 1 + .../plugins/std/syscalls/syscall-ppc64.tbl | 1 + .../plugins/std/syscalls/syscall-s390.tbl | 1 + .../x86/plugins/std/syscalls/syscall_32.tbl | 1 + .../x86/plugins/std/syscalls/syscall_64.tbl | 1 + compel/include/uapi/bisect.h | 30 + compel/include/uapi/infect.h | 15 +- compel/src/lib/bisect.c | 92 ++ compel/src/lib/infect.c | 169 +++- criu/Makefile | 2 +- criu/Makefile.crtools | 6 + criu/Makefile.packages | 7 + criu/arch/aarch64/include/asm/vdso.h | 17 +- criu/arch/arm/include/asm/vdso.h | 9 +- criu/arch/ppc64/include/asm/vdso.h | 34 +- criu/arch/s390/include/asm/vdso.h | 17 +- criu/arch/x86/include/asm/vdso.h | 23 +- criu/cgroup-props.c | 6 +- criu/cgroup.c | 12 +- criu/char.c | 68 ++ criu/config.c | 32 +- criu/cr-dump.c | 170 +++- criu/cr-restore.c | 373 ++++++- criu/crtools.c | 51 + criu/devname.c | 130 +++ criu/eventfd.c | 2 +- criu/eventpoll.c | 18 +- criu/file-lock.c | 10 + criu/files-reg.c | 251 ++++- criu/files.c | 281 +++++- criu/include/char.h | 17 + criu/include/cr_options.h | 17 + criu/include/fcntl.h | 11 + criu/include/files-reg.h | 26 + criu/include/files.h | 10 + criu/include/image-desc.h | 2 + criu/include/image.h | 3 + criu/include/kerndat.h | 2 + criu/include/log.h | 2 + criu/include/mem.h | 3 + criu/include/net.h | 9 +- criu/include/netfilter.h | 7 +- criu/include/nftables.h | 168 +++ criu/include/parasite-syscall.h | 2 + criu/include/parasite.h | 10 + criu/include/posix-timer.h | 1 + criu/include/prctl.h | 4 + criu/include/protobuf-desc.h | 2 + criu/include/pstree.h | 4 + criu/include/restorer.h | 48 + criu/include/sk-inet.h | 9 +- criu/include/sockets.h | 2 + criu/include/taskqueue.h | 60 ++ criu/include/util.h | 60 ++ criu/include/vma.h | 12 + criu/kerndat.c | 96 ++ criu/kmsg.c | 16 + criu/log.c | 4 + criu/lsm.c | 16 +- criu/mem.c | 171 +++- criu/mnl.c | 165 +++ criu/mount.c | 4 +- criu/namespaces.c | 13 +- criu/net.c | 43 +- criu/netfilter.c | 14 +- criu/nftables.c | 954 ++++++++++++++++++ criu/parasite-syscall.c | 34 + criu/pie/Makefile | 1 + criu/pie/Makefile.library | 2 + criu/pie/parasite.c | 50 + criu/pie/restorer.c | 417 +++++++- criu/pie/util-vdso.c | 2 + criu/pie/util.c | 91 ++ criu/proc_parse.c | 98 +- criu/pstree.c | 15 + criu/seize.c | 39 +- criu/sk-inet.c | 186 +++- criu/sk-netlink.c | 50 +- criu/sk-packet.c | 2 +- criu/sk-tcp.c | 99 +- criu/sk-unix.c | 174 +++- criu/sockets.c | 9 +- criu/taskqueue.c | 169 ++++ criu/tty.c | 5 + images/Makefile | 1 + images/chr.proto | 15 + images/core.proto | 5 + images/eventpoll.proto | 3 + images/fdinfo.proto | 5 + images/sk-unix.proto | 1 + images/timer.proto | 1 + images/vma.proto | 1 + include/common/lock.h | 4 + lib/Makefile | 1 + lib/c/Makefile | 2 +- lib/py/cli.py | 7 +- lib/py/images/images.py | 2 +- scripts/nmk/scripts/build.mk | 5 +- test/jenkins/criu-lib.sh | 2 +- test/jenkins/criu-test.sh | 26 + test/modules/Makefile | 21 + test/modules/idr.c | 79 ++ test/modules/jump_table.c | 107 ++ test/modules/var_kern.c | 72 ++ test/modules/var_user.py | 40 + test/modules/workqueue_kern.c | 130 +++ test/zdtm.py | 133 ++- test/zdtm/Makefile | 2 +- test/zdtm/customization/Makefile | 75 ++ test/zdtm/customization/chardev00.c | 65 ++ test/zdtm/customization/chardev00.desc | 1 + test/zdtm/customization/get_smaps_bits.c | 127 +++ test/zdtm/customization/get_smaps_bits.h | 6 + .../customization/infiniband_with_unix_sk.c | 55 + .../infiniband_with_unix_sk.desc | 1 + test/zdtm/customization/ipc.c | 202 ++++ test/zdtm/customization/ipc.desc | 1 + test/zdtm/customization/maps00.c | 271 +++++ test/zdtm/customization/maps00.desc | 1 + test/zdtm/customization/maps007.c | 178 ++++ test/zdtm/customization/maps007.desc | 1 + test/zdtm/customization/maps008.c | 514 ++++++++++ test/zdtm/customization/maps008.desc | 1 + test/zdtm/customization/maps01.c | 183 ++++ test/zdtm/customization/maps01.desc | 1 + test/zdtm/customization/maps02.c | 111 ++ test/zdtm/customization/maps02.desc | 1 + test/zdtm/customization/maps04.c | 57 ++ test/zdtm/customization/maps04.desc | 1 + test/zdtm/customization/maps05.c | 91 ++ test/zdtm/customization/maps05.desc | 1 + test/zdtm/customization/maps06.c | 70 ++ test/zdtm/customization/maps06.desc | 1 + test/zdtm/customization/maps_file_prot.c | 53 + test/zdtm/customization/maps_file_prot.desc | 1 + test/zdtm/customization/notifier00.c | 68 ++ test/zdtm/customization/notifier00.desc | 1 + test/zdtm/customization/tcp00.c | 101 ++ test/zdtm/customization/tcp00.desc | 1 + test/zdtm/lib/fs.c | 11 +- test/zdtm/lib/test.c | 4 +- test/zdtm/mod/.gitignore | 163 +++ test/zdtm/mod/Makefile | 34 + test/zdtm/mod/anon_inode.c | 148 +++ test/zdtm/mod/infiniband_kern.c | 121 +++ test/zdtm/mod/notifier.c | 145 +++ test/zdtm/static/Makefile | 1 + test/zdtm/static/cpu-affinity0.c | 42 + test/zdtm/static/cpu-affinity0.desc | 1 + test/zdtm/static/maps00.c | 8 +- test/zdtm/static/socket-tcp-nfconntrack.desc | 2 +- test/zdtm/static/socket-tcp.c | 13 + test/zdtm_ct.c | 13 +- upgchk/Makefile | 23 + upgchk/lib/modsym.c | 268 +++++ upgchk/lib/modsym.h | 39 + upgchk/setup.py | 20 + upgchk/upgchk/__init__.py | 11 + upgchk/upgchk/kabichk.py | 163 +++ 162 files changed, 9156 insertions(+), 247 deletions(-) create mode 100644 compel/include/uapi/bisect.h create mode 100644 compel/src/lib/bisect.c create mode 100644 criu/char.c create mode 100644 criu/devname.c create mode 100644 criu/include/char.h create mode 100644 criu/include/nftables.h create mode 100644 criu/include/taskqueue.h create mode 100644 criu/kmsg.c create mode 100644 criu/mnl.c create mode 100644 criu/nftables.c create mode 100644 criu/taskqueue.c create mode 100644 images/chr.proto create mode 100644 test/jenkins/criu-test.sh create mode 100644 test/modules/Makefile create mode 100644 test/modules/idr.c create mode 100644 test/modules/jump_table.c create mode 100644 test/modules/var_kern.c create mode 100644 test/modules/var_user.py create mode 100644 test/modules/workqueue_kern.c create mode 100644 test/zdtm/customization/Makefile create mode 100644 test/zdtm/customization/chardev00.c create mode 100644 test/zdtm/customization/chardev00.desc create mode 100644 test/zdtm/customization/get_smaps_bits.c create mode 100644 test/zdtm/customization/get_smaps_bits.h create mode 100644 test/zdtm/customization/infiniband_with_unix_sk.c create mode 100644 test/zdtm/customization/infiniband_with_unix_sk.desc create mode 100644 test/zdtm/customization/ipc.c create mode 100644 test/zdtm/customization/ipc.desc create mode 100644 test/zdtm/customization/maps00.c create mode 100644 test/zdtm/customization/maps00.desc create mode 100644 test/zdtm/customization/maps007.c create mode 100644 test/zdtm/customization/maps007.desc create mode 100644 test/zdtm/customization/maps008.c create mode 100644 test/zdtm/customization/maps008.desc create mode 100644 test/zdtm/customization/maps01.c create mode 100644 test/zdtm/customization/maps01.desc create mode 100644 test/zdtm/customization/maps02.c create mode 100644 test/zdtm/customization/maps02.desc create mode 100644 test/zdtm/customization/maps04.c create mode 100644 test/zdtm/customization/maps04.desc create mode 100644 test/zdtm/customization/maps05.c create mode 100644 test/zdtm/customization/maps05.desc create mode 100644 test/zdtm/customization/maps06.c create mode 100644 test/zdtm/customization/maps06.desc create mode 100644 test/zdtm/customization/maps_file_prot.c create mode 100644 test/zdtm/customization/maps_file_prot.desc create mode 100644 test/zdtm/customization/notifier00.c create mode 100644 test/zdtm/customization/notifier00.desc create mode 100644 test/zdtm/customization/tcp00.c create mode 100644 test/zdtm/customization/tcp00.desc create mode 100644 test/zdtm/mod/.gitignore create mode 100644 test/zdtm/mod/Makefile create mode 100644 test/zdtm/mod/anon_inode.c create mode 100644 test/zdtm/mod/infiniband_kern.c create mode 100644 test/zdtm/mod/notifier.c create mode 100644 test/zdtm/static/cpu-affinity0.c create mode 100644 test/zdtm/static/cpu-affinity0.desc create mode 100644 upgchk/Makefile create mode 100644 upgchk/lib/modsym.c create mode 100644 upgchk/lib/modsym.h create mode 100644 upgchk/setup.py create mode 100644 upgchk/upgchk/__init__.py create mode 100644 upgchk/upgchk/kabichk.py