-
Notifications
You must be signed in to change notification settings - Fork 596
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor criu plugin baseline v1 #2295
base: criu-dev
Are you sure you want to change the base?
Refactor criu plugin baseline v1 #2295
Commits on Jun 12, 2023
-
Change made through this commit: - Include copy of flog as a seperate tree. - Modify the makefile to add and compile flog code. Signed-off-by: prakritigoyal19 <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 823db1b - Browse repository at this point
Copy the full SHA 823db1bView commit details -
flog: Missing varargs init or cleanup (VARARGS)
CID 302713 (checkpoint-restore#1 of 1): Missing varargs init or cleanup (VARARGS) va_end was not called for argptr. Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1444b72 - Browse repository at this point
Copy the full SHA 1444b72View commit details -
Separate commit for easier criu-dev <-> master transfer. Acked-by: Mike Rapoport <[email protected]> Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc193dc - Browse repository at this point
Copy the full SHA cc193dcView commit details -
It is mapped, not maped. Same applies for mmap I guess. Found by codespell, except it wants to change it to mapped, which will make it less specific. Signed-off-by: Kir Kolyshkin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1fa21a0 - Browse repository at this point
Copy the full SHA 1fa21a0View commit details -
flog: fix some codespell warnings
Brought to you by codespell -w (using codespell v2.1.0). [v2: use "make indent" on the result] Signed-off-by: Kir Kolyshkin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7eaf7a3 - Browse repository at this point
Copy the full SHA 7eaf7a3View commit details -
limit the field width of 'scanf'
Fixes: checkpoint-restore#2121 Signed-off-by: Pengda Yang <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aed3f34 - Browse repository at this point
Copy the full SHA aed3f34View commit details -
sk-inet: Add IP TOS socket option
The TOS(type of service) field in the ip header allows you specify the priority of the socket data. Signed-off-by: Suraj Shirvankar <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6860d0 - Browse repository at this point
Copy the full SHA d6860d0View commit details -
zdtm: Add tests for ip tos restore
Signed-off-by: Suraj Shirvankar <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0dd4668 - Browse repository at this point
Copy the full SHA 0dd4668View commit details -
dump: increase fcntl call failure judgment
The pipe_size type is unsigned int, when the fcntl call fails and return -1, it will cause a negative rollover problem. Signed-off-by: zhoujie <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 13eb876 - Browse repository at this point
Copy the full SHA 13eb876View commit details -
compel: support XSAVE on newer Intel CPUs
Newer Intel CPUs (Sapphire Rapids) have a much larger xsave area than before. Looking at older CPUs I see 2440 bytes. # cpuid -1 -l 0xd -s 0 ... bytes required by XSAVE/XRSTOR area = 0x00000988 (2440) On newer CPUs (Sapphire Rapids) it grows to 11008 bytes. # cpuid -1 -l 0xd -s 0 ... bytes required by XSAVE/XRSTOR area = 0x00002b00 (11008) This increase the xsave area from one page to four pages. Without this patch the fpu03 test fails, with this patch it works again. Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 970c4ab - Browse repository at this point
Copy the full SHA 970c4abView commit details -
Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d4c5ed - Browse repository at this point
Copy the full SHA 1d4c5edView commit details -
scripts: make newer versions of shellcheck happy
Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d98c533 - Browse repository at this point
Copy the full SHA d98c533View commit details -
criu-ns: make --pidfile option show pid in caller pidns
Using the fact that we know criu_pid and criu is a parent of restored process we can create pidfile with pid on caller pidns level. We need to move mount namespace creation to child so that criu-ns can see caller pidns proc. Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e0697d - Browse repository at this point
Copy the full SHA 8e0697dView commit details -
docs: rename amdgpu_plugin.txt to criu-amdgpu-plugin.txt
By default, the file name 'amdgpu_plugin.txt' is used also as the name for the corresponding man page (`man amdgpu_plugin`). However, when this man page is installed system-wide it would be more appropriate to have a prefix 'criu-' (e.g., `man criu-amdgpu-plugin`). Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 806ee35 - Browse repository at this point
Copy the full SHA 806ee35View commit details -
lib/c: add empty_ns interfaces to libcriu
crun wants to set empty_ns and this interface is missing from the library. This adds it to libcriu. Signed-off-by: Adrian Reber <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f57bda4 - Browse repository at this point
Copy the full SHA f57bda4View commit details -
criu-ns: Add --criu-binary argument to run_criu()
--criu-binary argument provides a way to supply the CRIU binary location to run_criu(). Related to: checkpoint-restore#1909 Signed-off-by: Dhanuka Warusadura <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f308272 - Browse repository at this point
Copy the full SHA f308272View commit details -
criu-ns: Add support for older Python version in CI
These changes remove and update the changes introduced in 7177938 in favor of the Python version in CI. os.waitstatus_to_exitcode() function appeared in Python 3.9 Related to: checkpoint-restore#1909 Signed-off-by: Dhanuka Warusadura <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 38db5e1 - Browse repository at this point
Copy the full SHA 38db5e1View commit details -
criu-ns: Add tests for criu-ns script
These changes add test implementations for criu-ns script. Fixes: checkpoint-restore#1909 Signed-off-by: Dhanuka Warusadura <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8094df8 - Browse repository at this point
Copy the full SHA 8094df8View commit details -
criu-ns: Install Python pathlib module in CentOS 7
These changes fix the `ImportError: No module named pathlib` error when executing criu-ns tests located at criu/test/others/criu-ns Signed-off-by: Dhanuka Warusadura <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f0e9358 - Browse repository at this point
Copy the full SHA f0e9358View commit details -
criu-ns: Update shebang line to python
CentOS 7 CI environment uses Python 2. To execute criu-ns script in CentOS 7 changing the current shebang line to python is required. This reverse the changes made in a15a63f Signed-off-by: Dhanuka Warusadura <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9130fef - Browse repository at this point
Copy the full SHA 9130fefView commit details -
timers: improve and fix posix timer id sequence checks
This is a patch proposed by Thomas here: https://lore.kernel.org/all/87ilczc7d9.ffs@tglx/ It removes (created id > desired id) "sanity" check and adds proper checking that ids start at zero and increment by one each time when we create/delete a posix timer. First purpose of it is to fix infinite looping in create_posix_timers on old pre 3.11 kernels. Second purpose is to allow kernel interface of creating posix timers with desired id change from iterating with predictable next id to just setting next id directly. And at the same time removing predictable next id so that criu with this patch would not get to infinite loop in create_posix_timers if this happens. Thanks a lot to Thomas! Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 358f09c - Browse repository at this point
Copy the full SHA 358f09cView commit details -
action-scripts: Add pre-stream hook
This hook allows to start image streamer process from an action script. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 104a828 - Browse repository at this point
Copy the full SHA 104a828View commit details -
cgroup/restore: split prepare_task_cgroup code into two separate func…
…tions This does cgroup namespace creation separately from joining task cgroups. This makes the code more logical, because creating cgroup namespace also involves joining cgroups but these cgroups can be different to task's cgroups as they are cgroup namespace roots (cgns_prefix), and mixing all of them together may lead to misunderstanding. Another positive thing is that we consolidate !item->parent checks in one place in restore_task_with_children. Signed-off-by: Valeriy Vdovin <[email protected]> Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d137b8 - Browse repository at this point
Copy the full SHA 4d137b8View commit details
Commits on Jun 15, 2023
-
Fix dumping hugetlb-based memfd on kernels < 4.16.
4.15-based kernels don't allow F_*SEAL for memfds created with MFD_HUGETLB. Since seals are not possible in this case, fake F_GETSEALS result as if it was queried for a non-sealing-enabled memfd. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for af0e413 - Browse repository at this point
Copy the full SHA af0e413View commit details -
Fix mount(cgroup2) for older kernels.
Linux 4.15 doesn't like empty string for cgroup2 mount options. Pass NULL then to satisfy the kernel check. Log the options for easier debugging. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11288c9 - Browse repository at this point
Copy the full SHA 11288c9View commit details -
The original commit added saving THP_DISABLED flag value, but missed restoring it. There is restoring code, but used only when --lazy_pages mode is enabled. Restore the prctl flag always. While at it, rename the `has_thp_enabled` -> `!thp_disabled` for consistency. Fixes: bbbd597 (2017-06-28 "mem: add dump state of THP_DISABLED prctl") Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e6454f - Browse repository at this point
Copy the full SHA 9e6454fView commit details -
Log if prctl(SET_THP_DISABLE) doesn't work as expected.
If prctl(SET_THP_DISABLE) is not used due to bad semantics, log it for easier debugging. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7ca6856 - Browse repository at this point
Copy the full SHA 7ca6856View commit details -
zdtm: thp_disable: Output a single failure message
While at it, don't carry over stale errno to the fail() message. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d3a33ca - Browse repository at this point
Copy the full SHA d3a33caView commit details -
zdtm: thp_disable: Verify prctl(THP_DISABLE) migration
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6006cb6 - Browse repository at this point
Copy the full SHA 6006cb6View commit details -
zdtm: thp_disable: Verify MADV_NOHUGEPAGE before migration
Add a sanity check for THP_DISABLE. This discovered a broken commit in Google's kernel tree. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c75c017 - Browse repository at this point
Copy the full SHA c75c017View commit details
Commits on Jun 16, 2023
-
Fill FPU init state if it's not provided by kernel.
Apparently Skylake uses init-optimization when saving FPU state, and ptrace() returns XSTATE_BV[0] = 0 meaning FPU was not used by a task (in init state). Since CRIU restore uses sigreturn to restore registers, FPU state is always restored. Fill the state with default values on dump to make restore happy. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c6ee1ba - Browse repository at this point
Copy the full SHA c6ee1baView commit details
Commits on Jun 17, 2023
-
compel/test: Return 0 in case of error in fdspy
This commit revises the error handling in the fdspy test. Previously, a failure case could have been incorrectly reported as successful because of a specific check `pass != 0`, leading to potential false positives when `check_pipe_ends()` returned `-1` due to a read/write pipe error. To improve this, we've adjusted the error handling to return `0` in case of any error. As such, the final success condition remains unchanged. This approach will help accurately differentiate between successful and failed cases, ensuring the output "All OK" is printed for success, and "Something went WRONG" for any failure. Fixes: 5364ca3 ("compel/test: Fix warn_unused_result") Signed-off-by: Haorong Lu <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e2e560 - Browse repository at this point
Copy the full SHA 9e2e560View commit details -
Allow passing --leave_stopped by RPC.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3d4d943 - Browse repository at this point
Copy the full SHA 3d4d943View commit details -
Allow passing --display_stats via RPC.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 161a5ff - Browse repository at this point
Copy the full SHA 161a5ffView commit details -
Allow passing --log_to_stderr via RPC.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7f7b553 - Browse repository at this point
Copy the full SHA 7f7b553View commit details -
Use $TMPDIR for tests_root as the host's /tmp might not have enough features or space. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e55e168 - Browse repository at this point
Copy the full SHA e55e168View commit details -
zdtm: Add timeouts for test commands.
Extend ability to limit time taken to all CRIU invocations. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0bd5abe - Browse repository at this point
Copy the full SHA 0bd5abeView commit details -
zdtm: Allow --keep-going for single test.
We don't want test framework to change its behaviour on whether we run a single or multiple tests in a run. When we shard the test suite it can result in some shards having a single test to run and unexpectedly change the test output format. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 05f2319 - Browse repository at this point
Copy the full SHA 05f2319View commit details -
zdtm: Implement test sharding.
Allow to split test suite into predictable sets to parallelize runs on multiple machines or VMs. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e595787 - Browse repository at this point
Copy the full SHA e595787View commit details -
zdtm: sock_opts00: Improve error messages.
Make it clear that the option numbers are indexes not the option identifiers ("names"). Also show the value change that prompted test failure. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9301aba - Browse repository at this point
Copy the full SHA 9301abaView commit details
Commits on Jun 19, 2023
-
Allow skipping iptables/nftables invocation.
Make it possible to skip network lock to enable uses that break connections anyway to work without iptables/nftables being present. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a2c4dd2 - Browse repository at this point
Copy the full SHA a2c4dd2View commit details -
The fail() macro provides a new line character at the end of the message. This patch fixes the following lint check that currently fails in CI: $ git --no-pager grep -E '^\s*\<(pr_perror|fail)\>.*\\n"' test/zdtm/static/thp_disable.c: fail("prctl(GET_THP_DISABLE) returned unexpected value: %d != 1\n", ret); test/zdtm/static/thp_disable.c: fail("Flags changed %lx -> %lx\n", orig_flags, new_flags); test/zdtm/static/thp_disable.c: fail("Madvs changed %lx -> %lx\n", orig_madv, new_madv); test/zdtm/static/thp_disable.c: fail("post-migration prctl(GET_THP_DISABLE) returned unexpected value: %d != 1\n", ret); test/zdtm/static/thp_disable.c: fail("Flags changed %lx -> %lx\n", orig_flags, new_flags); test/zdtm/static/thp_disable.c: fail("Madvs changed %lx -> %lx\n", orig_madv, new_madv); Fixes: checkpoint-restore#2193 Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f018893 - Browse repository at this point
Copy the full SHA f018893View commit details
Commits on Jun 22, 2023
-
sockets: Increase the size of sockets hashmap to 16K.
During dump, CRIU stores the structs representing sockets in a statically sized hashmap of size 32. We have some (admittedly crazy) tasks that use tens of thousands of sockets, and seem to spend most of the dump time iterating over the linked lists of the map. 16K is chosen arbitrarily, so that it reduces the lengths of the chains to few elements on average, while not introducing significant memory overhead. From: Radosław Burny <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e6427c5 - Browse repository at this point
Copy the full SHA e6427c5View commit details -
pipes: Plug pipe fd leak in "Unable to set a pipe size" error case.
From: Piotr Figiel <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 12290f4 - Browse repository at this point
Copy the full SHA 12290f4View commit details -
kerndat: Make socket feature probing work on IPv6-only host.
Try IPv6 if IPv4 sockets are not supported. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f5cd44f - Browse repository at this point
Copy the full SHA f5cd44fView commit details
Commits on Jun 26, 2023
-
restore: remove unused
secbits
field.Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e90fc8 - Browse repository at this point
Copy the full SHA 1e90fc8View commit details
Commits on Jun 28, 2023
-
The test for HAS_MEMFD is empty and noit used. Remove it. Fixes: 5ee1ac1 ("criu: remove FEATURE_TEST_MEMFD") Change-Id: I43b8f0cfd50ce9bdf93dafb647377318df1deae8 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa6b633 - Browse repository at this point
Copy the full SHA aa6b633View commit details -
build: Debug system feature tests.
`make` without `-s` option will normally show the commands executed. In the case of detecting build environment features current makefile will cause detected features to be seen as 'echo #define' commands, but not detected ones will be silent. Change it so that all tried features can be seen (outside of make's silent mode) regardless of detection result. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2d76e4b - Browse repository at this point
Copy the full SHA 2d76e4bView commit details -
build: Fix LIBS vs LDFLAGS order.
$LDFLAGS can contain `-Ldir`s that are required by '-lib's in $LIBS. Reverse the order so that `-L` options make effect. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 722a90c - Browse repository at this point
Copy the full SHA 722a90cView commit details -
build: Use make-provided AR for building libzdtmtst.
Make $(AR) used also for libzdtmtst build. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 85f53bd - Browse repository at this point
Copy the full SHA 85f53bdView commit details -
build: Guard against libbsd's version of
__aligned
.When trying to build CRIU with libbsd enabled the compilation fails due to duplicate definition of __aligned macro. Other such definitions are already wrapped with #ifndef make __aligned definition consistent and make it easier in the future to use the libbsd features if needed. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eece28d - Browse repository at this point
Copy the full SHA eece28dView commit details -
build: libnfnetlink: Remove nla_get_s32().
nla_get_s32() was added to libnl 3.2.7 in 2015. Remove CRIU's definition as it breaks build when statically linking the binary. From: Uros Prestor <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0588c3b - Browse repository at this point
Copy the full SHA 0588c3bView commit details
Commits on Jun 30, 2023
-
action-scripts: allow shell scripts in rpc mode
Container runtimes commonly use CRIU with RPC. However, this prevents the use of action-scripts set in a CRIU configuration file due to the explicit scripts mode introduced with the following commit: ac78f13 actions: Introduce explicit scripts mode This patch enables container checkpoint/restore with action-scripts specified via configuration file. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b02d53a - Browse repository at this point
Copy the full SHA b02d53aView commit details -
docker/podman: test c/r with action-script
Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cde9bcf - Browse repository at this point
Copy the full SHA cde9bcfView commit details -
rpc: Support gathering external file list after freezing process tree.
New 'query-ext-files' action for `criu dump` is sent after freezing the process tree. This allows to defer gathering the external file list when the process tree is in a stable state and avoids race with the process creating and deleting files. Change-Id: Iae32149dc3992dea086f513ada52cf6863beaa1f Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8ba6efb - Browse repository at this point
Copy the full SHA 8ba6efbView commit details -
rpc: Support setting images_dir by path.
Google's RPC client process is in a different pidns and has more privileges -- CRIU can't open its /proc/<pid>/fd/<fd>. For images_dir_fd to be useful here it would need to refer to a passed or CRIU's fd. From: Michał Cłapiński <[email protected]> Change-Id: Icbfb5af6844b21939a15f6fbb5b02264c12341b1 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6cfe7aa - Browse repository at this point
Copy the full SHA 6cfe7aaView commit details
Commits on Jul 5, 2023
-
util: Downgrade ignored errors to warnings.
If the error is ignored it is not important enough - make it a warning instead. From: Mian Luo <[email protected]> Change-Id: If2641c3d4e0a4d57fdf04e4570c49be55f526535 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fb8ca64 - Browse repository at this point
Copy the full SHA fb8ca64View commit details -
kerndat: unexport kerndat_nsid()
kerndat_nsid() is not used outside kerndat.c. Make it static. Change-Id: I52e518ecb7c627cc1866e373411b2be3f71a2c9d Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f0d1b89 - Browse repository at this point
Copy the full SHA f0d1b89View commit details -
kerndat: Don't fail on NETLINK/nsid support missing.
If not dumping netns nor connections, nsid support is not used. Don't fail the run as if the support is needed, the dumping process will fail later. Change-Id: I39a086756f6d520c73bb6b21eaf6d9fb49a18879 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a5939b0 - Browse repository at this point
Copy the full SHA a5939b0View commit details -
util: Make CRIU run_id machine-level unique.
Instead of relying on chance of CLOCK_MONOTONIC reading being unique, use pid namespace ID that combined with the process ID will make it unique on the machine level. If pidns is not enabled on a kernel we'll get ENOENT, but then CRIU's pid will already be unique. If there is some other error, log it but continue, as the socket clash (if it happens) will result in a failed run anyway. Fixes: 45e048d (2022-03-31 "criu: generate unique socket names") Fixes: 408a7d8 (2022-02-12 "util: add an unique ID of the current criu run") Change-Id: I111c006e1b5b1db8932232684c976a84f4256e49 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba11426 - Browse repository at this point
Copy the full SHA ba11426View commit details -
zdtm: Update netns purpose comment in zdtm_ct.
With the parasite socket clash now guaranteed not to happen, the comment becomes obsolete. netns is steel needed though, so update the comment to point at the requirement. Change-Id: I3cfb253cd5c53b91b955fcb001530b4aee5129f4 Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4c2b71c - Browse repository at this point
Copy the full SHA 4c2b71cView commit details
Commits on Jul 7, 2023
-
readme: refactor asciinema link for video playback
Instead of opening the image directly, the commit refactors the asciinema image embedded link to redirect users to the corresponding video. Signed-off-by: Abhishek Guleri <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3a932e9 - Browse repository at this point
Copy the full SHA 3a932e9View commit details -
ci: disable CentOS 7 test in Cirrus CI
Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 42a5b64 - Browse repository at this point
Copy the full SHA 42a5b64View commit details -
ci: clean up CentOS 7 related tweaks
We have disabled CentOS 7 tests in CI. This patch reverts the changes introduced in the following commit: 24bc083 ci: disable some tests on CentOS 7 Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f8466ca - Browse repository at this point
Copy the full SHA f8466caView commit details -
coredump: drop python 2 support
This patch reverts changes introduced for Python 2 compatibility in commits: 1c866db (Add new files for running criu-coredump via python 2 or 3) 3180d35 (Add support for python3 in criu-coredump). Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e9901cd - Browse repository at this point
Copy the full SHA e9901cdView commit details -
This patch reverts changes introduced with the following commits: 4feb070 crit: enable python2 or python3 based crit b78c4e0 test: fix crit test and extend it Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 91edb5f - Browse repository at this point
Copy the full SHA 91edb5fView commit details -
crit: add requirements.txt for pip>=20.1
When building with pip version 20.0.2 or older, the pip install command creates a temporary directory and copies all files from ./crit. This results in the following error message: ModuleNotFoundError: No module named 'pycriu' This error appears because the symlink 'pycriu' uses a relative path that becomes invalid '../lib/py/'. The '--no-build-isolation' option for pip install is needed to enable the use of pre-installed dependencies (e.g., protobuf) during build. The '--ignore-installed' option for pip is needed to avoid an error when crit is already installed. For example, crit is installed in the GitHub CI environment as part of the criu OBS package as a dependency for podman. Distributions such as Arch Linux have adopted an externally managed python installation in compliance with PEP 668 [1] that prevents pip from breaking the system by either installing packages to the system or locally in the home folder. The '--break-system-packages' [2] option allows pip to modify an externally managed Python installation. [1] https://peps.python.org/pep-0668/ [2] https://pip.pypa.io/en/stable/cli/pip_uninstall/ Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 02bd1bc - Browse repository at this point
Copy the full SHA 02bd1bcView commit details -
remove python-future dependency
This commit removes the dependency on the __future__ module, which was used to enable Python 3 features in Python 2 code. With support for Python 2 being dropped, it is no longer necessary to maintain backward compatibility. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c794f39 - Browse repository at this point
Copy the full SHA c794f39View commit details -
make: remove checks for python 2 binary
This commit removes the checks for the Python 2 binary in the makefile and makes sure that ZDTM tests always use python3. Since support for Python 2 has been dropped, these checks are no longer needed. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f4d92f - Browse repository at this point
Copy the full SHA 5f4d92fView commit details -
test/criu-ns: drop python 2 compatibility
This patch is replacing the set_blocking() function with os.set_blocking(). This function was introduced for compatibility with Python 2 in commit 8094df8di (criu-ns: Add tests for criu-ns script). Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc5742d - Browse repository at this point
Copy the full SHA cc5742dView commit details -
test/others: drop setup_swrk() py2 compatibility
This patch removes the code introduced for compatibility with Python 2 in commits: 4c1ee3e test/other: Resolve Py3 compatibility issues 6b615ca test/others: Reuse setup_swrk() Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a8cfec9 - Browse repository at this point
Copy the full SHA a8cfec9View commit details -
lib/py: drop python 2 compatibility
This patch removes code introduced for compatibility with Python 2 in commits: bf80fee (lib: correctly handle stdin/stdout (Python 3)) b82f222 (lib: fix crit-recode fix for Python 2) Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 460c4d2 - Browse repository at this point
Copy the full SHA 460c4d2View commit details -
zdtm: drop python 2 compatibility
This patch removes the code for Python 2 compatibility introduced with commit e65c7b5 (zdtm: Replace imp module with importlib). Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 75d9d68 - Browse repository at this point
Copy the full SHA 75d9d68View commit details -
cgroup: Propagate error on cgroup mount failure.
This makes the error to mount cgroup hierarchy a bit less noisy: Error (criu/cgroup.c:623): cg: Unable to mount cgroup2 : Invalid argument' Instead of Error (criu/cgroup.c:623): cg: Unable to mount cgroup2 : Invalid argument' Error (criu/cgroup.c:715): cg: failed walking /proc/self/fd/-1/zdtmtst for empty cgroups: No such file or directory' Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b759678 - Browse repository at this point
Copy the full SHA b759678View commit details -
files-reg: Debug "open file on overmounted mount" error.
Log the mount and file that were the cause of failing a dump. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce33c49 - Browse repository at this point
Copy the full SHA ce33c49View commit details -
compel: Log the status word with "Task is still running" errors.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b42e7af - Browse repository at this point
Copy the full SHA b42e7afView commit details -
sk-unix: Log both peer names when failing on an external stream unix …
…socket. Make debugging dump failures resulting in "sk unix: Can't dump half of stream unix connection" errors easier. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf01c32 - Browse repository at this point
Copy the full SHA cf01c32View commit details -
soccr: Log offset when failed to restore socket's queued data.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 13c08b8 - Browse repository at this point
Copy the full SHA 13c08b8View commit details -
soccr: Log name of socket queue that failed to restore.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for dc3f4b5 - Browse repository at this point
Copy the full SHA dc3f4b5View commit details -
log: Remove error logs for ignored or otherwise logged subprocess exits.
Errors in early restore.log for status=1 from a subprocess are confusing, esp. that they don't show what command failed. Since the result is either ignored or logged anyway, mark the calls as "can fail". Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4d67f67 - Browse repository at this point
Copy the full SHA 4d67f67View commit details -
mount: Demote fsnotify logs for ignored failures.
Make logs about inaccessible mounts warnings, as the failures are normally harmless (e.g. failure to read /dev/cgroup) and don't make the CRIU run fail. (If it happens that the fsnotify can't find a file, then to debug, full CRIU logs will be necessary anyway.) Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fb149f7 - Browse repository at this point
Copy the full SHA fb149f7View commit details -
irmap: Reduce error log severity to warning.
These errors originate from the filesystem scanning in irmap.c and are mostly benign. Nevertheless, if they do result in a failed irmap lookup, that failed lookup is more interesting from an application perspective. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf4b225 - Browse repository at this point
Copy the full SHA cf4b225View commit details -
kerndat: bind ipv6-socket only if ipv6 is enabled
Fixes: checkpoint-restore#2222 Fixes: f1c8d38 ("kerndat: check if setsockopt IPV6_FREEBIND is supported") Signed-off-by: Yan Evzman <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a4bb3f9 - Browse repository at this point
Copy the full SHA a4bb3f9View commit details
Commits on Jul 10, 2023
-
zdtm: replace NR_fstat with NR_statx
NR_fstat is a deprecated syscall, some modern architectures such as riscv and loongarch64 no longer support this syscall. It is usually replaced by NR_statx. NR_statx is supported since linux 4.10. Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a96aa58 - Browse repository at this point
Copy the full SHA a96aa58View commit details -
kerndat: don't leak a socket file descriptor
kerndat_has_ipv6_freebind creates a socket but doesn't close it. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 935e60d - Browse repository at this point
Copy the full SHA 935e60dView commit details -
ci: add workflow to ensure self-contained commits
Signed-off-by: Prajwal S N <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2d6f04c - Browse repository at this point
Copy the full SHA 2d6f04cView commit details
Commits on Jul 19, 2023
-
include: add common header files for loongarch64
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f684719 - Browse repository at this point
Copy the full SHA f684719View commit details -
compel: add loongarch64 support
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52630db - Browse repository at this point
Copy the full SHA 52630dbView commit details -
images: add loongarch64 core image
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 521383d - Browse repository at this point
Copy the full SHA 521383dView commit details -
criu: add loongarch64 support to parasite and restorer
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 95fbd7e - Browse repository at this point
Copy the full SHA 95fbd7eView commit details -
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c941282 - Browse repository at this point
Copy the full SHA c941282View commit details -
ci: add workflow for loongarch64
Signed-off-by: znley <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f70c782 - Browse repository at this point
Copy the full SHA f70c782View commit details
Commits on Jul 22, 2023
-
util: Implement fchown() and fchmod() wrappers.
Add generic wrappers for fchown() and fchmod() that skip the calls if no changes are needed. This will allow to unify places where we can avoid errors when no-op requests are not permitted. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9f69484 - Browse repository at this point
Copy the full SHA 9f69484View commit details -
sk-unix: Avoid restore_file_perms() EPERM error for no-op changes.
Note: This removes the difference in calling convention of restore_file_perms() returning -errno that was the only call that did this in the caller. From: Radosław Burny <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 923e66b - Browse repository at this point
Copy the full SHA 923e66bView commit details -
files-reg: Avoid EPERM in ghost_apply_metadata() for no-op changes.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5f214bc - Browse repository at this point
Copy the full SHA 5f214bcView commit details -
cgroup: Replace restore_perms() with cr_fchperm().
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6e23125 - Browse repository at this point
Copy the full SHA 6e23125View commit details -
memfd: Avoid EPERM for no-op chown().
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 00d061b - Browse repository at this point
Copy the full SHA 00d061bView commit details -
tty: Avoid EPERM for no-op chown().
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e90fbd7 - Browse repository at this point
Copy the full SHA e90fbd7View commit details -
restore: Avoid need for CAP_SETPCAP if not changing uids.
When CRIU is run with the task's credentials on restore, don't set uids and gids. This avoids the need to modify the SECURE_NO_SETUID_FIXUP flag which requires CAP_SETPCAP. From: Andy Tucker <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b9f360b - Browse repository at this point
Copy the full SHA b9f360bView commit details -
restore: Skip setgroups() when already correct.
Skip calling setgroups() when the list of auxiliary groups already has the values we want. This allows restoring into an unprivileged user namespace where setgroups() is disabled. From: Ambrose Feinstein <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 53dd6ba - Browse repository at this point
Copy the full SHA 53dd6baView commit details
Commits on Jul 26, 2023
-
restore: Fix capability migration requirements between different kern…
…els. When restoring on a kernel that has different number of supported capabilities than checkpoint one, check that the extra caps are unset. There are two directions to consider: 1) dump.cap_last_cap > restore.cap_last_cap - restoring might reduce the processes' capabilities if restored kernel doesn't support checkpointed caps. Warn. 2) dump.cap_last_cap < restore.cap_last_cap - restoring will fill the extra caps with zeroes. No changes. Note: `last_cap` might change without affecting `n_words`. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ff67ad8 - Browse repository at this point
Copy the full SHA ff67ad8View commit details
Commits on Jul 27, 2023
-
prctl: Migrate prctl(NO_NEW_PRIVS) setting.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6bad5d2 - Browse repository at this point
Copy the full SHA 6bad5d2View commit details -
prctl: test prctl(NO_NEW_PRIVS) setting
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d490218 - Browse repository at this point
Copy the full SHA d490218View commit details -
restore: Skip dropping BSET capability if irrelevant.
prctl(NO_NEW_PRIVS) when set prevents child processes gaining capabilities not in permitted set. In this case, inability to clear capability from BSET that is not in the permitted set is harmless. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 988a5f4 - Browse repository at this point
Copy the full SHA 988a5f4View commit details
Commits on Aug 1, 2023
-
sk-inet: Extend 'TCP repair off' failure log.
Include the file descriptor and error code in the debug message to make it more useful. Fixes: e7ba909 (2016-03-14 "cr-check: Inspect errno on syscall failures") Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cc500d9 - Browse repository at this point
Copy the full SHA cc500d9View commit details -
memfd: dump and restore permissions.
memfd is created by default with +x permissions set. This can be changed by a process using fchmod() and expected to prevent using this fd for exec(). Migrate the permissions. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f2d9672 - Browse repository at this point
Copy the full SHA f2d9672View commit details -
zdtm/memfd00: test memfd file mode
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 88249fe - Browse repository at this point
Copy the full SHA 88249feView commit details
Commits on Aug 3, 2023
-
apparmor: fix incorrect usage of sizeof on char ptr
In criu/apparmor.c: write_aa_policy(), the arg path is passed as a char pointer. The original code used sizeof(path) to get the size of it, which is incorrect as it always return the size of the char pointer (typically 8 or 4), not the actual capacity of the char array. Given that this function is only invoked with path declared as `char path[PATH_MAX]`, replacing sizeof(path) with PATH_MAX should correctly represent the maximum size of it. Fixes: 8723e3f ("check: add a feature test for apparmor_stacking") Signed-off-by: Haorong Lu <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9118601 - Browse repository at this point
Copy the full SHA 9118601View commit details
Commits on Aug 4, 2023
-
page-xfer: Pull tcp_cork,nodelay().
Move tcp_cork() and tcp_nodelay() to the only user: page-xfer.c. While at it, fix error messages (as they do not refer to restoring the sockopt values) and demote them as they are not fatal to the page transfer. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1db922f - Browse repository at this point
Copy the full SHA 1db922fView commit details -
irmap: scan user-provided paths in order
Make the scan use the order of paths that came from the user. Fixes: 4f2e4ab ("irmap: add --irmap-scan-path option"; 2015-09-16) Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 72494ed - Browse repository at this point
Copy the full SHA 72494edView commit details
Commits on Aug 7, 2023
-
amdgpu_plugin: remove duplicated log prefix
The log prefix "amdgpu_plugin:" is defined with `LOG_PREFIX` in `amdgpu_plugin.c`. However, the prefix is also included in each log message. As a result it appears duplicated in the log messages: (00.044324) amdgpu_plugin: amdgpu_plugin: devices:1 bos:58 objects:148 priv_data:45696 (00.045376) amdgpu_plugin: amdgpu_plugin: Thread[0x5589] started (00.167172) amdgpu_plugin: amdgpu_plugin: img_path = amdgpu-kfd-62.img (00.083739) amdgpu_plugin: amdgpu_plugin : amdgpu_plugin_dump_file() called for fd = 235 Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 242de4e - Browse repository at this point
Copy the full SHA 242de4eView commit details
Commits on Aug 8, 2023
-
scripts/apt: don't hide apt output
It is required to investigate issues. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6fc5bc6 - Browse repository at this point
Copy the full SHA 6fc5bc6View commit details -
ci/docker: install all required packages
This change fixes the issue: ``` The following packages have unmet dependencies: docker-ce : Depends: containerd.io (>= 1.6.4) E: Unable to correct problems, you have held broken packages. ``` Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2199220 - Browse repository at this point
Copy the full SHA 2199220View commit details
Commits on Aug 18, 2023
-
lib/py: add VMA_AREA_MEMFD constant
The VMA_AREA_MEMFD constant was introduced with commit 29a1a88 memfd: add memory mapping support This patch extends the status map used in CRIT and coredump with the value of this constant to recognize it. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e1cda9f - Browse repository at this point
Copy the full SHA e1cda9fView commit details
Commits on Aug 21, 2023
-
loongarch64: reformat syscall_64.tbl for 8-wide tabs
Signed-off-by: Andrei Vagin <[email protected]>
1Configuration menu - View commit details
-
Copy full SHA for 288d6a6 - Browse repository at this point
Copy the full SHA 288d6a6View commit details -
dump+restore: Implement membarrier() registration c/r.
Note: Silently drops MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED as it's not currently detectable. This is still better than silently dropping all membarrier() registrations. Signed-off-by: Michał Mirosław <[email protected]>
1Configuration menu - View commit details
-
Copy full SHA for 2f50da4 - Browse repository at this point
Copy the full SHA 2f50da4View commit details -
zdtm: membarrier: test migration of membarrier() registration
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b5c3ccc - Browse repository at this point
Copy the full SHA b5c3cccView commit details -
Put a cap on the size of single preadv in restore operation.
While each preadv() is followed by a fallocate() that removes the data range from image files on tmpfs, temporarily (between preadv() and fallocate()) the same data is in two places; this increases the memory overhead of restore operation by the size of a single preadv. Uncapped preadv() would read up to 2 GiB of data, thus we limit that to a smaller block size (128 MiB). Based-on-work-by: Paweł Stradomski <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5fedcaa - Browse repository at this point
Copy the full SHA 5fedcaaView commit details
Commits on Aug 24, 2023
-
github: auto-remove
changes requested
andawaiting reply
labelsLabels are removed when new comments are posted. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 649292c - Browse repository at this point
Copy the full SHA 649292cView commit details -
loongarch64: fix syscall_64.tbl
The 288d6a6 change broke all the syscall numbers. Reported-by: Michał Mirosław <[email protected]> Fixes: (288d6a6 "loongarch64: reformat syscall_64.tbl for 8-wide tabs") Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 942b5fd - Browse repository at this point
Copy the full SHA 942b5fdView commit details -
memfd: don't set fd attributes not needed for vma mapping
There is only one user of memfd_open() outside of memfd.c: open_filemap(). It is restoring a file-backed mapping and doesn't need nor expect to update F_SETOWN nor the fd's position. Check the inherited_fd() handling in the callers to simplify the code. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 359b257 - Browse repository at this point
Copy the full SHA 359b257View commit details
Commits on Aug 25, 2023
-
ci/loongarch64: compile tests before running zdtm.py
Otherwise tests fail by timeout. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 675c5e4 - Browse repository at this point
Copy the full SHA 675c5e4View commit details -
kerndat: Make pagemap check more robust against swapped out pages.
Fix test of whether the kernel exposes page frame numbers to cope with the possibility that the top of the stack is swapped out, which was happening in about one 1 out of 3 million runs. This lead to a later failure when trying to read the PFN of the zero page, after which criu would exit with no error message. Original-From: Ambrose Feinstein <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for af31e8e - Browse repository at this point
Copy the full SHA af31e8eView commit details -
compel/infect: include the relevant pid in "no-breakpoints restore" d…
…ebug message Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 38baf73 - Browse repository at this point
Copy the full SHA 38baf73View commit details -
proc_parse: remove trivial goto from vma_get_mapfile_user()
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba27d27 - Browse repository at this point
Copy the full SHA ba27d27View commit details -
test/other: add test for action-script
This commit is introducing a test for the action-script functionality of CRIU to verify that pre-dump, post-dump, pre-restore, pre-resume, post-restore, post-resume hooks are executed during dump/restore. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2df6ec5 - Browse repository at this point
Copy the full SHA 2df6ec5View commit details
Commits on Aug 28, 2023
-
proc_parse: Log smaps entry while dumping VMA.
Help debugging problems with restoring custom VMAs. From: Michał Cłapiński <[email protected]> Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 92b96a5 - Browse repository at this point
Copy the full SHA 92b96a5View commit details -
kerndat: Make errors from clone3() check more precise.
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a04fac5 - Browse repository at this point
Copy the full SHA a04fac5View commit details -
kerndat: check_pagemap: close(fd) on error path
Plug a fd leak when returning error from check_pagemap(). (Cosmetic, as the process will exit soon anyway.) Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d0f88ff - Browse repository at this point
Copy the full SHA d0f88ffView commit details -
kerndat: check_pagemap: reword retried case explanation
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6d0e785 - Browse repository at this point
Copy the full SHA 6d0e785View commit details
Commits on Aug 29, 2023
-
memfd: return original memfd fd for execveat()
If there is only a single RW opened fd for a memfd, it can be used to pass it to execveat() with AT_EMPTY_PATH to have its contents executed. This currently works only for the original fd from memfd_create(). For now we ignore processes that reopen the memfd's rw and expect a particular executability trait of it. (Note: for security purposes recent kernels have SEAL_EXEC to make memfds non-executable.) Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e0d13ef - Browse repository at this point
Copy the full SHA e0d13efView commit details -
Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a652c68 - Browse repository at this point
Copy the full SHA a652c68View commit details
Commits on Aug 31, 2023
-
CONTRIBUTING.md: don't mention ctags
Ctags is mentioned in the beginning of the "Edit the source code" which is really confusing: Do you need ctags to edit CRIU code? - No. It is just one helpful tool to browse the code, and we do not want to enforce it. So, what is it doing in contribution guide? People who really need it should be able to find it in Makefile or just write oneliner of their own to collect tags... Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 959a32d - Browse repository at this point
Copy the full SHA 959a32dView commit details -
CONTRIBUTING.md: improve coding-style related sections
This is highlight that code readability is the real goal of all the coding-style rules. We should not do coding-style just for coding-style, e.g. when clang-format suggests crazy formating we should not follow it if we feel it is bad. Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 75146b0 - Browse repository at this point
Copy the full SHA 75146b0View commit details -
lint: don't fail workflow on indent fail
There are multiple cases where good human readable code block is converted to an unreadable mess by clang-format, so we don't want to rely on clang-format completely. Also there is no way, as far as I can see, to make clang-format only fix what we want it to fix without breaking something. So let's just display hints inline where clang-format is unhappy. When reviewer sees such a warning it's a good sign that something is broken in coding-style around this warning. We add special script which parses diff generated by indent and generates warning for each hunk. Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 03541c0 - Browse repository at this point
Copy the full SHA 03541c0View commit details
Commits on Sep 4, 2023
-
vagrant: update to version 2.3.7
This patch also updated the download URL format from https://releases.hashicorp.com/vagrant/2.3.7/vagrant_2.3.7_x86_64.deb to https://releases.hashicorp.com/vagrant/2.3.7/vagrant_2.3.7-1_amd64.deb Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1df618a - Browse repository at this point
Copy the full SHA 1df618aView commit details -
vagrant: run tests with fedora 38
Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 82bfb67 - Browse repository at this point
Copy the full SHA 82bfb67View commit details
Commits on Sep 14, 2023
-
dump: use MEMBARRIER_CMD_GET_REGISTRATIONS when available
MEMBARRIER_CMD_GET_REGISTRATIONS can tell us whether or not the process used MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED unlike the old probing method. Falls back to the old method when MEMBARRIER_CMD_GET_REGISTRATIONS is unavailable. Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b7287b - Browse repository at this point
Copy the full SHA 4b7287bView commit details -
zdtm: test MEMBARRIER_CMD_GLOBAL_EXPEDITED migration
Check membarrier registration both ways: 1. By issuing membarrier commands and checking if they succeed. 2. By issuing MEMBARRIER_CMD_GET_REGISTRATIONS. The first way is needed for older kernels. The second way is needed to test MEMBARRIER_CMD_GLOBAL_EXPEDITED. Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d752479 - Browse repository at this point
Copy the full SHA d752479View commit details -
criu/plugin: Add environment variable to cap size of buffers.
The amdgpu plugin would create a memory buffer at the size of the largest VRAM bo (buffer object). On some systems, VRAM size exceeds RAM size, so the largest bo might be larger than the available memory. Add an environment variable KFD_MAX_BUFFER_SIZE, which caps the size of this buffer. By default, it is set to 0, and has no effect. When active, any bo larger than its value will be saved to/restored from file in multiple passes. Signed-off-by: David Francis <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f043f53 - Browse repository at this point
Copy the full SHA f043f53View commit details
Commits on Sep 20, 2023
-
compel: Add support for ppc64le scv syscalls
Power ISA 3.0 added a new syscall instruction. Kernel 5.9 added corresponding support. Add CRIU support to recognize the new instruction and kernel ABI changes to properly dump and restore threads executing in syscalls. Without this change threads executing in syscalls using the scv instruction will not be restored to re-execute the syscall, they will be restored to execute the following instruction and will return unexpected error codes (ERESTARTSYS, etc) to user code. Signed-off-by: Younes Manton <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4766ffa - Browse repository at this point
Copy the full SHA 4766ffaView commit details
Commits on Sep 22, 2023
-
lib/pycriu: generate version.py
The version of CRIU is specified in the Makefile.versions file. This patch generates '__varion__' value for the pycriu module. This value can be used by crit to implement `--version`. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ae1518 - Browse repository at this point
Copy the full SHA 4ae1518View commit details -
crit/setup.py: use __version__ from pycriu
Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b8b2fe6 - Browse repository at this point
Copy the full SHA b8b2fe6View commit details -
This patch implements the '--version' for the crit tool. $ crit --version 3.17 Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 150eecc - Browse repository at this point
Copy the full SHA 150eeccView commit details
Commits on Sep 25, 2023
-
ci: stop testing ubuntu overlayfs
They break it with each kernel rebase. More details are here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1857257 Last time, it was fixed a few month ago and it has been broken again in 5.15.0-1046-azure. Let's bind-mount the CRIU directory into a test container to make it independent of a container file system. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e37ccf - Browse repository at this point
Copy the full SHA 5e37ccfView commit details
Commits on Sep 26, 2023
-
zdtm: If ignoring kernel taint, also ignore taint changes.
At least in Google's VM environment, the kernel taints are unrelated to CRIU runs. Don't fail tests if taints change, if kernel taints are ignored. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1a6c015 - Browse repository at this point
Copy the full SHA 1a6c015View commit details -
zdtm: cgroup04: Improve error messages.
Make the errno values reported by cgroup04 always correct and showing relevant parameters. Constify constant strings, while at it. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f74140c - Browse repository at this point
Copy the full SHA f74140cView commit details -
zdtm: cgroup04: Improve skip check's robustness.
cgroup04 test needs full control over mem and devices cgroup hierarchies. Make the test's .checkskip script better at detecting if the cgroups are available for use. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 66369f9 - Browse repository at this point
Copy the full SHA 66369f9View commit details -
zdtm: Treat ESRCH from kill() as success.
This fixes a failure to clean up after a failed test, where CRIU didn't start properly. ``` ===================== Run zdtm/transition/socket-tcp in h ====================== Start test ./socket-tcp --pidfile=socket-tcp.pid --outfile=socket-tcp.out Traceback (most recent call last): File ".../zdtm_py.py", line 1906, in do_run_test cr(cr_api, t, opts) File ".../zdtm_py.py", line 1584, in cr cr_api.dump("dump") File ".../zdtm_py.py", line 1386, in dump self.__dump_process = self.__criu_act(action, File ".../zdtm_py.py", line 1224, in __criu_act raise test_fail_exc("CRIU %s" % action) test_fail_exc: CRIU dump During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<embedded module '_launcher'>", line 182, in run_filename_from_loader_as_main File "<embedded module '_launcher'>", line 34, in _run_code_in_main File ".../zdtm_py.py", line 2790, in <module> fork_zdtm() File ".../zdtm_py.py", line 2782, in fork_zdtm do_run_test(tinfo[0], tinfo[1], tinfo[2], tinfo[3]) File ".../zdtm_py.py", line 1922, in do_run_test t.kill() File ".../zdtm_py.py", line 509, in kill os.kill(int(self.__pid), sig) ProcessLookupError: [Errno 3] No such process ``` Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 87c42d5 - Browse repository at this point
Copy the full SHA 87c42d5View commit details -
zdtm: socket_udp_shutdown: Make the test fail instead of timing out.
When -- after restore -- sockets can't communicate, the test times out while waiting on recvfrom(). Since the communication is local, send() works instantaneously - so mark sockets with SOCK_NONBLOCK and report failure if the message is not received immediately. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a056519 - Browse repository at this point
Copy the full SHA a056519View commit details
Commits on Sep 27, 2023
-
All test logs are flooded with the "userns is supported" messages... Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b5f3af - Browse repository at this point
Copy the full SHA 8b5f3afView commit details
Commits on Sep 28, 2023
-
Return page size as unsigned long
Currently page_size() returns unsigned int value that is after "bitwise not" is promoted to unsigned long value e.g. in uffd.c handle_page_fault. Since the value is unsigned promotion is done with 0 MSB that results in lost of MSB pagefault address bits. So make page_size to return unsigned long to avoid such situation. Signed-off-by: Vladislav Khmelevsky <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1e4f5fb - Browse repository at this point
Copy the full SHA 1e4f5fbView commit details
Commits on Sep 29, 2023
-
vma: Add !VVAR condition to vma_entry_can_be_lazy
Currently most of the times we don't have problems with VVAR segment and lazy restore because when VDSO is parked there is an munmap call that calls UFFDIO_UNREGISTER on the destination address. But we don't want to enable userfaultfd for VDSO and VVAR at the first place.
Configuration menu - View commit details
-
Copy full SHA for 4f0c07f - Browse repository at this point
Copy the full SHA 4f0c07fView commit details -
criu: change the comment about magic numbers
Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5de9040 - Browse repository at this point
Copy the full SHA 5de9040View commit details
Commits on Oct 5, 2023
-
plugins: the UPDATE_VMA_MAP callback returns fd with the full control
It means CRIU has to close it when it is not needed. It looks more logically correct and matches the behaviour of the RESTORE_EXT_FILE callback. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f832d87 - Browse repository at this point
Copy the full SHA f832d87View commit details -
amdgpu: don't leak fd on an error path in open_img_file
Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 25f685e - Browse repository at this point
Copy the full SHA 25f685eView commit details -
amdgpu: print an error if the dup syscall fails
Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 01d559d - Browse repository at this point
Copy the full SHA 01d559dView commit details -
ci: enable build with amdgpu plugin
This patch adds the `libdrm-dev` package to the list of CRIU dependencies installed in CI to build CRIU with amdgpu plugin. Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f593257 - Browse repository at this point
Copy the full SHA f593257View commit details -
amdgpu_plugin.c:930:6: error: variable 'buffer' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized] if (ret) { ^~~ amdgpu_plugin.c:988:8: note: uninitialized use occurs here xfree(buffer); Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2ff90f0 - Browse repository at this point
Copy the full SHA 2ff90f0View commit details -
memfd: don't reopen file descriptors for memory mappings
One memfd can be shared by a few restored files. Only of these files is restored with a file created with memfd_open. Others are restored by reopening memfd files via /proc/self/fd/. It seems unnecessary for restoring memfd memory mappings. We can always use the origin file. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f54cf19 - Browse repository at this point
Copy the full SHA f54cf19View commit details -
zdtm/memfd04: check execveat on memfd that has memory mappings
Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c20fb83 - Browse repository at this point
Copy the full SHA c20fb83View commit details
Commits on Oct 6, 2023
-
clang-format: disable column limit constraint
The "ColumnLimit: 120" is not only allowing lines to be longer than 80 characters but it also forces line wrapping at 120 characters. If total expression length is more than 120 characters, clang-format will try to wrap it as close to 120 as it can, it would not even allow to wrap at 80 characters if we really want it. But as we all know 80 characters is Linux kernel coding style default and as far as our coding style is based on it it is really strange to prohibit wrapping lines at 80 characters... Signed-off-by: Pavel Tikhomirov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5bf7652 - Browse repository at this point
Copy the full SHA 5bf7652View commit details
Commits on Oct 7, 2023
-
pie: Mark __export_*() functions as externally_visible
GCC's lto source: > To avoid this problem the compiler must assume that it sees the > whole program when doing link-time optimization. Strictly > speaking, the whole program is rarely visible even at link-time. > Standard system libraries are usually linked dynamically or not > provided with the link-time information. In GCC, the whole > program option (@option{-fwhole-program}) asserts that every > function and variable defined in the current compilation > unit is static, except for function @code{main} (note: at > link time, the current unit is the union of all objects compiled > with LTO). Since some functions and variables need to > be referenced externally, for example by another DSO or from an > assembler file, GCC also provides the function and variable > attribute @code{externally_visible} which can be used to disable > the effect of @option{-fwhole-program} on a specific symbol. As far as I read gcc's source, ipa_comdats() will avoid placing symbols that are either already in a user-defined section or have externally_visible attribute into new optimized gcc sections. Signed-off-by: Dmitry Safonov <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3391ed - Browse repository at this point
Copy the full SHA e3391edView commit details -
util: allow to run criu under strace
fork_and_ptrace_attach has to fork a child with CLONE_UNTRACED, so that strace doesn't trace it. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 24e2492 - Browse repository at this point
Copy the full SHA 24e2492View commit details
Commits on Oct 8, 2023
-
tun: don't parse buffers that have not been filled with data
read_ns_sys_file() can return an error, but we are trying to parse a buffer before checking a return code. CID 417395 (checkpoint-restore#3 of 3): String not null terminated (STRING_NULL) 2. string_null: Passing unterminated string buf to strtol, which expects a null-terminated string. Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4e5247a - Browse repository at this point
Copy the full SHA 4e5247aView commit details -
apparmor: remove the redundant check
This check is redundant as line 201 checks for this condition. Signed-off-by: Taemin Ha <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3015aad - Browse repository at this point
Copy the full SHA 3015aadView commit details -
arch/x86: remove the redundant check
The is_native field is a boolean. Therefore, else if() should can be changed to a simple else{}. Signed-off-by: Taemin Ha <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9e05b65 - Browse repository at this point
Copy the full SHA 9e05b65View commit details -
The condition meant to check fd2 instead of fd1, which is checked in line 24. Signed-off-by: Taemin Ha <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 06a3f13 - Browse repository at this point
Copy the full SHA 06a3f13View commit details -
zdtm/thread_different_uid_gid: remove the redundant check
line 131 checks if (ret >= 0). line 133 could be replaced by a simple else statement Signed-off-by: Taemin Ha <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c03c737 - Browse repository at this point
Copy the full SHA c03c737View commit details -
criu/proc_parse: refactor the eventpoll parser
Eventpollentry's fields are set only when ret == 3 or ret == 6. The remaining cases can be grouped together to an error Signed-off-by: Taemin Ha <[email protected]> Signed-off-by: Andrei Vagin <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ab73a84 - Browse repository at this point
Copy the full SHA ab73a84View commit details
Commits on Oct 12, 2023
-
files-reg: don't change the file pos in get_build_id
At this point the correct position is already restored, so reading from the fd results in the position being moved forward by 5 bytes. Fixes: 9191f87 ("criu/files-reg.c: add build-id validation functionality") Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 811a380 - Browse repository at this point
Copy the full SHA 811a380View commit details -
zdtm/lib: add missing signal.h header
Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d9ca0c7 - Browse repository at this point
Copy the full SHA d9ca0c7View commit details -
zdtm/static: test the offset migration of ELF files
Signed-off-by: Michal Clapinski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 42c1c84 - Browse repository at this point
Copy the full SHA 42c1c84View commit details
Commits on Oct 13, 2023
-
zdtm: cgroup_ifpriomap: Improve skip check's robustness.
cgroup_ifpriomap test needs net_prio cgroup, which might not be available. Make the .checkskip script check it. Signed-off-by: Michał Mirosław <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 711775f - Browse repository at this point
Copy the full SHA 711775fView commit details
Commits on Oct 17, 2023
-
lib: use separate packages for pycriu and crit
Newer versions of pip use an isolated virtual environment when building Python projects. However, when the source code of CRIT is copied into the isolated environment, the symlink for `../lib/py` (pycriu) becomes invalid. As a workaround, we used the `--no-build-isolation` option for `pip install`. However, this functionality has issues in some versions of PIP [1, 2]. To fix this problem, this patch adds separate packages for pycriu and crit, and each package is installed independently. [1] pypa/pip#8221 [2] pypa/pip#8165 (comment) Signed-off-by: Radostin Stoyanov <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for df24fe8 - Browse repository at this point
Copy the full SHA df24fe8View commit details
Commits on Oct 22, 2023
-
Makefile: introduce ARCHCFLAGS for arch specific cflags
Do not use $(USERCFLAGS) for anything other than what the user provide. Signed-off-by: Marcus Folkesson <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c474816 - Browse repository at this point
Copy the full SHA c474816View commit details
Commits on Nov 1, 2023
-
amdgpu_plugin: Refactor code in preparation to support C&R for DRM de…
…vices Add a new compilation unit to host symbols and methods that will be needed to C&R DRM devices. Refactor code that indicates support for C&R and checkpoints KFD and DRM devices Signed-off-by: Ramesh Errabolu <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b4f3c20 - Browse repository at this point
Copy the full SHA b4f3c20View commit details -
amdgpu_plugin: Refactor code used to implement Checkpoint
Refactor code used to Checkpoint DRM devices. Code is moved into amdgpu_plugin_drm.c file which hosts various methods to checkpoint and restore a workload. Signed-off-by: Ramesh Errabolu <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 272b127 - Browse repository at this point
Copy the full SHA 272b127View commit details
Commits on Nov 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for ff42a4f - Browse repository at this point
Copy the full SHA ff42a4fView commit details