criu/criu
Liu Hua f5dec056ad uffd: Disable image deduplication after fork
After a fork, both the child and parent processes may trigger a page fault (#PF)
at the same virtual address, referencing the same position in the page image.
If deduplication is enabled, the last process to trigger the page fault will fail.

Therefore, deduplication should be disabled after a fork to prevent this issue.

Signed-off-by: Liu Hua <weldonliu@tencent.com>
2024-10-26 22:18:22 -07:00
..
arch criu: add riscv64 support to parasite and restorer 2024-10-26 22:18:22 -07:00
include uffd: Disable image deduplication after fork 2024-10-26 22:18:22 -07:00
pie criu: add riscv64 support to parasite and restorer 2024-10-26 22:18:22 -07:00
unittest ci: Fix code indent 2022-06-22 10:20:33 -07:00
action-scripts.c rpc: Support gathering external file list after freezing process tree. 2023-10-22 13:29:25 -07:00
aio.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
apparmor.c apparmor: get_suspend_policy must return NULL in error cases 2024-09-11 16:02:11 -07:00
autofs.c criu: use proper format-specified to accommodate time_t 64-bit change 2024-09-11 16:02:11 -07:00
bfd.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
bitmap.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
bpfmap.c bpf: update deprecated API 2022-04-28 17:53:52 -07:00
cgroup-props.c cgroup-v2: Checkpoint and restore some global properties 2023-04-15 21:17:21 -07:00
cgroup.c util: dump fsfd log messages 2024-09-19 15:23:42 -07:00
clone-noasan.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
config.c Allow skipping iptables/nftables invocation. 2023-10-22 13:29:25 -07:00
cr-check.c util: dump fsfd log messages 2024-09-19 15:23:42 -07:00
cr-dedup.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
cr-dump.c criu: Restore rseq_cs state slightly earlier in the restore sequence and run the plugin finalizer later in the dump sequence 2024-09-11 16:02:11 -07:00
cr-errno.c build: Move everything criu related into criu directory 2016-02-15 15:32:45 +03:00
cr-restore.c images/inventory: add field for enabled plugins 2024-10-26 22:18:22 -07:00
cr-service.c rpc: Support setting images_dir by path. 2023-10-22 13:29:25 -07:00
crtools.c Add documentation for --ghost-fiemap 2023-04-15 21:17:21 -07:00
eventfd.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
eventpoll.c Fix some codespell warnings 2022-04-28 17:53:52 -07:00
external.c configs: fix used after free cases 2021-09-03 10:31:00 -07:00
fault-injection.c fault: allow to check dont_use_freeze_cgroup 2024-09-19 15:23:42 -07:00
fdstore.c non-root: Rework socket bufs for unprivileged mode 2023-04-15 21:17:21 -07:00
fifo.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
file-ids.c criu/files: Don't cache fd ids for device files 2022-04-28 17:53:52 -07:00
file-lock.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
files-ext.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
files-reg.c files-reg: don't change the file pos in get_build_id 2023-10-22 13:29:25 -07:00
files.c criu: Support C/R of pidfds 2024-10-26 22:18:22 -07:00
filesystems.c mount: allow bindmounts for external fuse mounts 2023-04-15 21:17:21 -07:00
fsnotify.c log: remove all uses of %m specifier in pr_* functions 2023-04-15 21:17:21 -07:00
hugetlb.c hugetlb: don't dump anonymous private hugetlb mapping using memfd approach 2023-04-15 21:17:21 -07:00
image-desc.c criu: Support C/R of pidfds 2024-10-26 22:18:22 -07:00
image.c images/inventory: add field for enabled plugins 2024-10-26 22:18:22 -07:00
img-streamer.c action-scripts: Add pre-stream hook 2023-10-22 13:29:25 -07:00
ipc_ns.c ipc_sysctl: Prioritize restoring IPC variables using non usernsd approach 2023-04-15 21:17:21 -07:00
irmap.c irmap: duplicate string in irmap_scan_path_add 2024-09-11 16:02:11 -07:00
kcmp-ids.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
kerndat.c codespell: fix typos 2024-09-19 15:23:42 -07:00
libnetlink.c build: libnfnetlink: Remove nla_get_s32(). 2023-10-22 13:29:25 -07:00
log.c log: fix timestamp logging when tv_sec>=100 2023-04-15 21:17:21 -07:00
lsm.c lsm: do not print a warning if no LSM has been detected 2021-09-03 10:31:00 -07:00
Makefile make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
Makefile.crtools criu: Support C/R of pidfds 2024-10-26 22:18:22 -07:00
Makefile.packages make: remove checks for python 2 binary 2023-10-22 13:29:25 -07:00
mem.c mem: optimize debug logging of enqueued pages 2024-09-11 16:02:11 -07:00
memfd.c memfd: don't reopen file descriptors for memory mappings 2023-10-22 13:29:25 -07:00
mount-v2.c mount-v2: workaround for multiple external bindmounts with no common root 2022-06-22 10:20:33 -07:00
mount.c mount: fix unbounded write 2024-09-11 16:02:11 -07:00
namespaces.c ci: fix new codespell errors 2023-10-22 13:29:25 -07:00
net.c net: Fix TOCTOU race condition in unix_conf_op 2024-09-11 16:02:11 -07:00
netfilter.c log: Remove error logs for ignored or otherwise logged subprocess exits. 2023-10-22 13:29:25 -07:00
page-pipe.c dump: increase fcntl call failure judgment 2023-10-22 13:29:25 -07:00
page-xfer.c page-xfer: Pull tcp_cork,nodelay(). 2023-10-22 13:29:25 -07:00
pagemap-cache.c pagemap-cache: handle short reads 2024-09-11 16:02:11 -07:00
pagemap.c uffd: Disable image deduplication after fork 2024-10-26 22:18:22 -07:00
parasite-syscall.c criu: move sigact dump/restore code into sigact.c 2024-09-11 16:02:11 -07:00
path.c Fix some codespell warnings 2022-04-28 17:53:52 -07:00
pidfd-store.c non-root: Rework socket bufs for unprivileged mode 2023-04-15 21:17:21 -07:00
pidfd.c pidfd: block SIGCHLD during tmp process creation 2024-10-26 22:18:22 -07:00
pie-util-vdso-elf32.c vdso: fill compat symtab in CRIU 2017-03-15 00:09:52 +03:00
pie-util-vdso.c build: Move everything criu related into criu directory 2016-02-15 15:32:45 +03:00
pie-util.c build: Move everything criu related into criu directory 2016-02-15 15:32:45 +03:00
pipes.c pipes: Plug pipe fd leak in "Unable to set a pipe size" error case. 2023-10-22 13:29:25 -07:00
plugin.c images/inventory: add field for enabled plugins 2024-10-26 22:18:22 -07:00
proc_parse.c criu: Support C/R of pidfds 2024-10-26 22:18:22 -07:00
protobuf-desc.c criu: Support C/R of pidfds 2024-10-26 22:18:22 -07:00
protobuf.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
pstree.c pstree: improve id intersection detection in prepare_pstree_for_shell_job 2023-04-15 21:17:21 -07:00
rbtree.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
rst-malloc.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
seccomp.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
seize.c criu: Allow disabling freeze cgroups 2024-09-19 15:23:42 -07:00
servicefd.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
setproctitle.c string: define wrapers __setproctitle and __setproctitle_init to hide bsd headers 2023-04-15 21:17:21 -07:00
shmem.c page-cache: use the PAGEMAP_SCAN ioctl when it is available 2024-09-11 16:02:11 -07:00
sigact.c criu: move sigact dump/restore code into sigact.c 2024-09-11 16:02:11 -07:00
sigframe.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
signalfd.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
sk-inet.c sk-tcp: Move TCP socket options from TcpStreamEntry to TcpOptsEntry 2024-09-11 16:02:11 -07:00
sk-netlink.c netlink: fix netlink fd flags dump/restore failed 2023-04-15 21:17:21 -07:00
sk-packet.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
sk-queue.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
sk-tcp.c sk-tcp: Move TCP socket options from SkOptsEntry to TcpOptsEntry 2024-09-11 16:02:11 -07:00
sk-unix.c sk-unix: Avoid restore_file_perms() EPERM error for no-op changes. 2023-10-22 13:29:25 -07:00
sockets.c sk-tcp: Move TCP socket options from SkOptsEntry to TcpOptsEntry 2024-09-11 16:02:11 -07:00
stats.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
string.c string: use our own __strlcpy and __strlcat to remove bsd headers 2023-04-15 21:17:21 -07:00
sysctl.c ipc_sysctl: Prioritize restoring IPC variables using non usernsd approach 2023-04-15 21:17:21 -07:00
sysfs_parse.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
timens.c criu: use proper format-specified to accommodate time_t 64-bit change 2024-09-11 16:02:11 -07:00
timer.c timer: fix printf specifiers for __suseconds64_t 2024-09-11 16:02:11 -07:00
timerfd.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
tls.c Fix some codespell warnings 2022-04-28 17:53:52 -07:00
tty.c tty: skip ioctl(TIOCSLCKTRMIOS) if possible 2024-09-11 16:02:11 -07:00
tun.c tun: don't parse buffers that have not been filled with data 2023-10-22 13:29:25 -07:00
uffd.c uffd: Disable image deduplication after fork 2024-10-26 22:18:22 -07:00
util.c util: dump fsfd log messages 2024-09-19 15:23:42 -07:00
uts_ns.c util: Include int.h (compilation fix) 2016-10-24 16:00:16 +03:00
vdso-compat.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
vdso.c vdso-compat: Increase the reserved buffer for compat vdso 2023-04-15 21:17:21 -07:00