criu/criu
Andrei Vagin 570621a48a mount-v2: enter the mount namesapce to propagation properties
A kernel change (commit 12f147ddd6de, "do_change_type(): refuse to
operate on unmounted/not ours mounts") modified how mount propagation
properties can be changed. Previously, these properties could be changed
from any mount namespace. Now, they can only be modified from the
specific mount namespace where the target mount is actually mounted

This commit addresses this new restriction by ensuring that CRIU enters the
correct mount namespace before attempting to restore mount propagation
properties (MS_SLAVE or MS_SHARED) for a mount.

Signed-off-by: Andrei Vagin <avagin@gmail.com>
2025-07-29 09:10:08 -07:00
..
arch arm64: C/R PAC keys 2025-03-21 12:40:31 -07:00
include make: allow setting the default network locking backend 2025-03-21 12:40:31 -07:00
pie vdso: correct data types for ELF hash table sizes 2025-03-21 12:40:31 -07:00
unittest criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -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 criu: fix internal representation of cgroups hierarchical structure 2025-03-21 12:40:31 -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 seize: use separate checkpoint_devices function 2025-03-21 12:40:31 -07:00
cr-errno.c build: Move everything criu related into criu directory 2016-02-15 15:32:45 +03:00
cr-restore.c arm64: C/R PAC keys 2025-03-21 12:40:31 -07:00
cr-service.c criu: Initialize util before service worker starts 2025-03-21 12:40:31 -07:00
crtools.c criu: Initialize util before service worker starts 2025-03-21 12:40:31 -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 seize: enable support for frozen containers 2025-03-21 12:40:31 -07:00
fdstore.c criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -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: fix buffer overflow on aarch64 2025-03-21 12:40:31 -07:00
files.c criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -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 2025-03-21 12:40:31 -07:00
image.c net: remember the name of the lock chain (nftables) 2025-03-21 12:40:31 -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 kerndat: run iptables with -n to not resolve service names 2025-03-21 12:40:31 -07:00
libnetlink.c build: libnfnetlink: Remove nla_get_s32(). 2023-10-22 13:29:25 -07:00
log.c criu: fix log_keep_err signal deadlock 2025-03-25 14:31:33 -07:00
lsm.c lsm: use the user provided lsm label 2025-03-21 12:40:31 -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 2025-03-21 12:40:31 -07:00
Makefile.packages criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -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: enter the mount namesapce to propagation properties 2025-07-29 09:10:08 -07:00
mount.c mount: fix unbounded write 2024-09-11 16:02:11 -07:00
namespaces.c namespace: skip cleaning up the uid/gid map in error cases 2025-03-25 14:31:33 -07:00
net.c net/sysctl: c/r ipv4/ping_group_range value 2025-03-21 12:40:31 -07:00
netfilter.c net: remember the name of the lock chain (nftables) 2025-03-21 12:40:31 -07:00
page-pipe.c dump: increase fcntl call failure judgment 2023-10-22 13:29:25 -07:00
page-xfer.c ci: handle results from latest codespell 2025-03-21 12:40:31 -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 2025-03-21 12:40:31 -07:00
parasite-syscall.c cr: Task CapAmb support 2025-03-21 12:40:31 -07:00
path.c Fix some codespell warnings 2022-04-28 17:53:52 -07:00
pidfd-store.c criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -07:00
pidfd.c pidfd: add missing include 2025-03-21 12:40:31 -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 2025-03-21 12:40:31 -07:00
proc_parse.c cr: Task CapAmb support 2025-03-21 12:40:31 -07:00
protobuf-desc.c criu: Support C/R of pidfds 2025-03-21 12:40:31 -07:00
protobuf.c Run 'make indent' on all C files 2021-09-03 10:31:00 -07:00
pstree.c pstree: print clone flags in error message 2025-03-21 12:40:31 -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 seize: use separate checkpoint_devices function 2025-03-21 12:40:31 -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: Refine itimer_armed logic and improve timer value handling 2025-03-21 12:40:31 -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 2025-03-21 12:40:31 -07:00
util.c criu: use libuuid for criu_run_id generation 2025-03-21 12:40:31 -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: handle vvar_vclock vma-s 2025-03-21 12:40:31 -07:00