Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
34226fd
ci: try GitHub arm runners
adrianreber Jan 18, 2025
daa548b
criu: Do not print failed message when there is no late stage hook
yummypeng Apr 2, 2025
9a1e979
compel: fix the stack test
avagin Apr 2, 2025
5ff5232
restore: use the new kernel interface to restore timers
avagin Mar 27, 2025
e7aee3c
cuda: use pr_perror for libc function errors
rst0git Apr 10, 2025
6805841
cuda: remove redundant goto label
rst0git Apr 10, 2025
74799ae
aarch64: fix build with missing NT_ARM_PAC_ENABLED_KEYS
adrianreber Apr 9, 2025
b9da95b
s390: Fix FP reg restore after parasite code runs
ymanton Jan 23, 2024
5de61a7
net: nftables: avoid restore failure if the CRIU nft table already exist
avagin Apr 21, 2025
b6dca31
aarch64/crtools: fix define for missing constants
rst0git Apr 14, 2025
88cb552
mount: restore root mount flags
Snorch Apr 2, 2025
6b3826a
zdtm/lib: add "bind" desc option
Snorch Apr 2, 2025
5a72526
zdtm: add mnt_ro_root test
Snorch Apr 2, 2025
b458a5c
sk-inet: add message how to disable MPTCP in Go
rst0git May 7, 2025
1eaa870
kerndat: check that hardware breakpoints work
avagin May 6, 2025
366d73a
make: remove checks and warnings for bsd strlcat and strlcpy
fntlnz May 14, 2025
fddca67
seize: fix pause devices for frozen containers
rst0git May 11, 2025
d57d40a
sk-inet: add MPTCP definition
rst0git May 16, 2025
427c0dc
criu: Introduce a new device plugin hook for restore
wweewrwer Nov 29, 2024
497109e
cr-restore: Move `cr_plugin_init` after `fdstore_init`
wweewrwer Nov 29, 2024
e257d04
pstree: Add `has_children` function
wweewrwer Dec 10, 2024
1fd1b67
plugins/amdgpu: Add socket operations
wweewrwer Dec 10, 2024
e8ba7c1
plugins/amdgpu: Add parallel restore command
wweewrwer Dec 10, 2024
a61116f
plugins/amdgpu: Implement parallel restore
wweewrwer Jan 15, 2025
7a5b3d1
plugins/amdgpu: Update `README.md` and `criu-amdgpu-plugin.txt`
wweewrwer Dec 10, 2024
ae1395d
zdtm.py: add an option to change pycriu import path
Snorch Apr 30, 2025
1fdff7c
zdtm: fix check for criu binary
Snorch May 19, 2025
2b8951a
image: use `protoc` instead of `protoc-c`
avagin May 16, 2025
af5412a
criu/proc_parse: support MADV_WIPEONFORK/VM_WIPEONFORK
mihalicyn May 4, 2025
6476488
test/zdtm/static/maps02: add MADV_WIPEONFORK testcase
mihalicyn May 4, 2025
b90cfc1
criu/proc_parse: support MAP_DROPPABLE mappings
mihalicyn May 4, 2025
4f9dcfb
pycriu/images/pb2dict: add MAP_DROPPABLE flag
mihalicyn May 4, 2025
dfa0ce1
test/zdtm/static/maps02: add MAP_DROPPABLE testcase
mihalicyn May 4, 2025
5f18ca1
test/zdtm/static: add maps11 test for MAP_DROPPABLE/MADV_WIPEONFORK
mihalicyn May 4, 2025
fbfed31
feat: introduce Nix flake
snprajwal Apr 14, 2025
fcbaac0
crtools: simplify check for cpuinfo subcommands
lianakoleva Mar 26, 2025
99ba6db
crtools: do a few minor cleanups
avagin May 20, 2025
a79b33d
cpuinfo: show error when image is missing
rst0git May 23, 2025
922754d
rpc/log: return first error always
ivpravdin May 7, 2025
4c7d42f
ipc/sysctl: fix CTL_FLAGS_IPC_EACCES_SKIP by making it a flag
Snorch Jun 8, 2025
4f057a6
net/sysctl: fix missprint in an error message
Snorch Jun 8, 2025
45d09ae
net/sysctl: fix broken ipv4_sysctls_op
Snorch Jun 10, 2025
87bd09a
net/sysctl: make ipv4/ping_group_range work in user namespaces
Snorch Jun 8, 2025
677a568
zdtm/netns_sub_sysctl: skip unsupported sysctls
avagin Jun 10, 2025
a80c544
sk-inet: Add support for checkpoint/restore of ICMP sockets
ss141309 Dec 26, 2024
3dc865b
test: add static tests for ICMP socket
ss141309 Dec 28, 2024
e31828e
mount: Fix trailing / when a file is bind-mounted
eagleonhill Jun 13, 2025
455c677
zdtm: Add ztatic/mnt_ext_file_bind_auto test
Snorch Jun 20, 2025
7fbf7b2
images: remove symlink for descriptor.proto
rst0git Jul 11, 2025
21c3b9c
images/Makefile: fix using $(Q)
kolyshkin Jul 23, 2025
066bf7b
Keep images/google/protobuf directory
kolyshkin Jul 23, 2025
22c83e3
images/Makefile: use msg-gen
kolyshkin Jul 23, 2025
95d5e2e
compel: flush caches after parasite injection
specht478 Jul 16, 2025
6427687
restore: flush caches during restore
specht478 Jul 16, 2025
0d1e280
vagrant: fix 'qemu' install
rst0git Jul 25, 2025
2762b21
vagrant: update image to fedora 42
rst0git Jul 25, 2025
d586b30
vagrant: fix tar including archive in itself
rst0git Jul 25, 2025
c6c6f6f
zdtm/socket-tcp-closing: fill socket buffers effectivly
avagin Aug 10, 2025
5f94dd7
CI: Consolidate arm64 tests on GitHub runners
avagin Aug 10, 2025
fce4911
criu/include/mman: define MADV_GUARD_INSTALL
mihalicyn Apr 6, 2025
2bb77da
kerndat: add madvise(MADV_GUARD_INSTALL) feature-detection
mihalicyn Apr 19, 2025
4fc07a8
kerndat: add pagemap_scan_guard_pages feature check logic
mihalicyn Apr 19, 2025
1873e8f
cr-dump: warn if MADV_GUARD is supported but isn't shown in pagemap
mihalicyn Apr 19, 2025
42580fc
criu/pagemap-cache: pagescan: look for PAGE_IS_GUARD pages
mihalicyn Apr 6, 2025
5843cbf
criu/mem: refactor should_dump_page helper
mihalicyn May 1, 2025
cc047d5
criu/mem: dump: skip MADV_GUARD pages content dump
mihalicyn Apr 6, 2025
63c7029
criu/{mem, vdso, cr-restore}: introduce VMA_AREA_GUARD fake VMAs
mihalicyn Aug 4, 2025
59b4d66
criu/pie/restorer: add madvise(MADV_GUARD_INSTALL) restore logic
mihalicyn Apr 6, 2025
9c0f725
criu/mem: dump: note MADV_GUARD pages as VMA_AREA_GUARD VMAs
mihalicyn Aug 4, 2025
01265cf
test/zdtm/static/maps12: add madv guards test
mihalicyn Apr 20, 2025
98f2bd5
ci/vagrant: install vanilla kernel for Fedora Rawhide test
mihalicyn Aug 10, 2025
dcee5bd
make: Disable branch-protection for PIE code on ARM64
avagin Aug 15, 2025
2ba3430
test/zdtm/static/maps12: fix pointer-to-int cast
rst0git Aug 16, 2025
fa1b399
zdtm/static/sock_opts00: use unix socket to test SO_PASSCRED and SO_P…
Aug 20, 2025
4b73985
criu/sockets: Restrict SO_PASSCRED and SO_PASSSEC to supported families
Aug 20, 2025
254ba3e
ci: avoid Docker 28 due to regression
avagin Sep 8, 2025
a779417
zdtm: stop importing junit_xml
avagin Sep 15, 2025
053a22a
pagemap: prevent integer overflow in pagemap_len
fntlnz Sep 18, 2025
80c2806
compel/mips: Relax ELF magic check to support MIPS libraries
Sep 17, 2025
a8c5e11
lsm: use attr/apparmor/current to get apparmor label
filip-hejsek Sep 13, 2025
c7395f4
files: fork helpers without CLONE_FILES | CLONE_FS
avagin Sep 15, 2025
afb2e6c
pagemap: change PagemapEntry.nr_pages to uint64 to support huge mappings
avagin Sep 18, 2025
7e0da4d
pagemap: use unsigned long for page counts
avagin Sep 18, 2025
2e26b36
pagemap: print page regions in the format `start - end`
avagin Sep 19, 2025
2d2168f
vdso: relax EI_OSABI check to support linux in ELF header
Sep 22, 2025
91758a6
zdtm: Remove junit_xml leftovers
avagin Sep 22, 2025
67751bc
docs: add developer overviews for AI assistants
avagin Sep 19, 2025
25f8be0
ci: use package-manager dependency install scripts
shashank-mahadasyam Sep 17, 2025
b25ff1d
Remove travis-ci leftovers
rst0git Sep 26, 2025
0a81dc8
ci/java: update base image from focal to jammy
shashank-mahadasyam Sep 26, 2025
76394e9
ci: consolidate aarch64 tests on GitHub runners
rst0git Sep 27, 2025
7a4b35a
contributing: update links to mailing list
rst0git Oct 1, 2025
3379c12
page-xfer: fix incompatible pointer type on armv7
rst0git Oct 2, 2025
77553f0
make: prevent redefinition of 'struct sigcontext'
peppergrayxyz Sep 30, 2025
790b3cf
ci: run alpine tests on arm64
kolyshkin Oct 2, 2025
520266d
zdtm: add sk-unix-restore-fs-share test
rst0git Oct 3, 2025
7bf402f
vma: introduce VMA_AREA_UPROBES flag
shashank-mahadasyam Aug 18, 2025
0ff2e0a
criu-coredump: add VMA_AREA_UPROBES flag
shashank-mahadasyam Aug 18, 2025
74bf40f
crit: add VMA_AREA_UPROBES flag
shashank-mahadasyam Aug 18, 2025
bab72af
vma: introduce --allow-uprobes option
shashank-mahadasyam Aug 17, 2025
aeec40b
docs: add documentation for --allow-uprobes
shashank-mahadasyam Aug 17, 2025
f548d3a
crtools: remove "consult documentation"
shashank-mahadasyam Aug 20, 2025
dcce9bd
zdtm: add a test for --allow-uprobes option
shashank-mahadasyam Aug 22, 2025
c03c08d
cr-service: refactor rpc config parsing
rst0git Sep 10, 2025
9d07222
test/others/rpc: parse action-script via config
rst0git Sep 3, 2025
bb9a720
test/others/rpc: show logs on error
rst0git Sep 3, 2025
3365c7c
restorer: shstk: add restorer shadow stack stubs
svilenkov Sep 4, 2025
f29cb75
x86/criu: shstk restorer memory accounting functions
svilenkov Sep 4, 2025
b18c07d
restorer: shstk: add shstk_min_mmap_addr()
mihalicyn Oct 17, 2025
02462c1
restorer: shstk: allocate restorer shadow stack
svilenkov Sep 6, 2025
abf4a71
x86/criu: shstk: add shstk_vma_restore()
svilenkov Sep 6, 2025
6fd71b9
x86/criu: shstk: restore SHSTK via premap loops
svilenkov Sep 6, 2025
697c31a
zdtm: shstk: add SHSTK_ENABLE test build option
svilenkov Sep 6, 2025
a5ae3c1
pycriu: set licence to LGPLv2.1
herheliuk Oct 18, 2025
540c631
pycriu: add missing protobuf dependency
herheliuk Oct 17, 2025
d5c81f8
pycriu: prevent always appending "Unknown" to error messages
herheliuk Oct 18, 2025
f824dc7
ci: consolidate action-script tests
rst0git Oct 21, 2025
f74e68d
ci: verify call order of action-script hooks
rst0git Oct 21, 2025
d3dfb66
make: don't install external dependencies
rst0git Oct 21, 2025
6860181
ci: add wheel and setuptools in dnf packages
rst0git Oct 21, 2025
afcfcd3
ci: add which dependency in dnf packages
rst0git Oct 21, 2025
07ad247
Use command -v instead of which
kolyshkin Oct 27, 2025
2878faa
libcriu: enable setting of RPC config file
rst0git Oct 7, 2025
3f97cfe
test/libcriu: check setting of RPC config file
rst0git Oct 9, 2025
7aad731
lib/pycriu: changing the default behavior to use the system binary
herheliuk Oct 22, 2025
d2c46b9
pycriu: better socket error handling
herheliuk Oct 23, 2025
71a6379
pycriu: set default value for sk_name
herheliuk Oct 27, 2025
ee4100c
cr-service: refactor images/workdir setup
rst0git Oct 24, 2025
60a731a
cr-service: drop images_dir from setproctitle
rst0git Oct 24, 2025
5966ffe
cr-service: refactor images_dir path resolution
rst0git Oct 24, 2025
72ca94d
cr-service: refactor logging setup
rst0git Oct 28, 2025
9371c4a
cr-service: refactor RPC opts parsing for check()
rst0git Oct 24, 2025
f7ccb63
pycriu: set RPC opts for CHECK
rst0git Oct 24, 2025
3c841af
pycriu: use explicit imports for __init__
rst0git Oct 25, 2025
a1dc885
test/rpc: update errno check
rst0git Oct 24, 2025
567f70c
test/others: add test for check() with libcriu
rst0git Oct 20, 2025
0fa6ff3
test/others: add tests for check() with pycriu
rst0git Oct 26, 2025
cb8e1da
coredump: use compat_nr_pages as fallback
alam0rt Oct 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 4 additions & 33 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ task:
nested_virtualization: true

setup_script: |
scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
contrib/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
sudo kvm-ok
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
build_script: |
make -C scripts/ci vagrant-fedora-no-vdso

Expand All @@ -33,10 +32,9 @@ task:
memory: 8G

setup_script: |
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
dnf config-manager --set-enabled crb # Same as CentOS 8 powertools
dnf -y install epel-release epel-next-release
dnf -y install --allowerasing asciidoc gcc git gnutls-devel libaio-devel libasan libcap-devel libnet-devel libnl3-devel libbsd-devel libselinux-devel make protobuf-c-devel protobuf-devel python-devel python-PyYAML python-protobuf python-junit_xml python3-importlib-metadata xmlto libdrm-devel libuuid-devel
contrib/dependencies/dnf-packages.sh
# The image has a too old version of nettle which does not work with gnutls.
# Just upgrade to the latest to make the error go away.
dnf -y upgrade nettle nettle-devel
Expand Down Expand Up @@ -65,9 +63,8 @@ task:
nested_virtualization: true

setup_script: |
scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
contrib/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
sudo kvm-ok
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
build_script: |
make -C scripts/ci vagrant-fedora-rawhide

Expand All @@ -86,36 +83,11 @@ task:
nested_virtualization: true

setup_script: |
scripts/ci/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
contrib/apt-install make gcc pkg-config git perl-modules iproute2 kmod wget cpu-checker
sudo kvm-ok
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
build_script: |
make -C scripts/ci vagrant-fedora-non-root

task:
name: aarch64 build GCC (native)
arm_container:
image: docker.io/library/ubuntu:jammy
cpu: 4
memory: 4G
script: uname -a
build_script: |
scripts/ci/apt-install make
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
make -C scripts/ci local

task:
name: aarch64 build CLANG (native)
arm_container:
image: docker.io/library/ubuntu:jammy
cpu: 4
memory: 4G
script: uname -a
build_script: |
scripts/ci/apt-install make
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
make -C scripts/ci local CLANG=1

task:
name: aarch64 Fedora Rawhide
arm_container:
Expand All @@ -125,6 +97,5 @@ task:
script: uname -a
build_script: |
scripts/ci/prepare-for-fedora-rawhide.sh
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
make -C scripts/ci/ local CC=gcc SKIP_CI_PREP=1 SKIP_CI_TEST=1 CD_TO_TOP=1
make -C test/zdtm -j 4
Original file line number Diff line number Diff line change
@@ -1,43 +1,25 @@
name: Actuated aarch64 test
name: aarch64 test

on: [push, pull_request]

# Cancel any preceding run on the pull request.
concurrency:
group: actuated-test-${{ github.event.pull_request.number || github.ref }}
group: aarch64-test-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/criu-dev' }}

jobs:
build:
# Actuated runners are not available in all repositories.
if: ${{ github.repository == 'checkpoint-restore/criu' }}
# The memory size and the number of CPUs can be freely selected.
# 3GB and 4 CPUs seems to be enough according to the result from 'vmmeter'.
runs-on: actuated-arm64-4cpu-3gb
strategy:
matrix:
os: [ubuntu-24.04-arm, ubuntu-22.04-arm]
target: [GCC=1, CLANG=1]

steps:
# https://gist.github.com/alexellis/1f33e581c75e11e161fe613c46180771#file-metering-gha-md
# vmmeter start
- name: Prepare arkade
uses: alexellis/arkade-get@master
with:
crane: latest
print-summary: false

- name: Install vmmeter
run: |
crane export --platform linux/arm64 ghcr.io/openfaasltd/vmmeter:latest | sudo tar -xvf - -C /usr/local/bin

- name: Run vmmeter
uses: self-actuated/vmmeter-action@master
# vmmeter end
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
- name: Run Tests ${{ matrix.target }}
# Following tests are failing on the actuated VMs:
- name: Run Tests ${{ matrix.target }} on ${{ matrix.os }}
# Following tests are failing on the VMs:
# ./change_mnt_context --pidfile=change_mnt_context.pid --outfile=change_mnt_context.out
# 45: ERR: change_mnt_context.c:23: mount (errno = 22 (Invalid argument))
#
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/alpine-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,11 @@ concurrency:

jobs:
build:
runs-on: ubuntu-22.04
strategy:
matrix:
os: [ubuntu-22.04, ubuntu-22.04-arm]
target: [GCC=1, CLANG=1]
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/check-commits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
# Checkout pull request HEAD commit instead of merge commit
ref: ${{ github.event.pull_request.head.sha }}
- name: Install dependencies
run: sudo scripts/ci/apt-install libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python3-protobuf libnl-3-dev libnet-dev libcap-dev uuid-dev
run: sudo contrib/apt-install libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python3-protobuf libnl-3-dev libnet-dev libcap-dev uuid-dev
- name: Configure git user details
run: |
git config --global user.email "[email protected]"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Install Packages (cpp)
if: ${{ matrix.language == 'cpp' }}
run: |
sudo scripts/ci/apt-install protobuf-c-compiler libprotobuf-c-dev libprotobuf-dev build-essential libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python3-protobuf libnet-dev pkg-config libnl-3-dev libbsd0 libbsd-dev iproute2 libcap-dev libaio-dev libbsd-dev python3-yaml libnl-route-3-dev gnutls-dev
sudo contrib/apt-install protobuf-c-compiler libprotobuf-c-dev libprotobuf-dev build-essential libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python3-protobuf libnet-dev pkg-config libnl-3-dev libbsd0 libbsd-dev iproute2 libcap-dev libaio-dev libbsd-dev python3-yaml libnl-route-3-dev gnutls-dev
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
image: registry.fedoraproject.org/fedora:latest
steps:
- name: Install tools
run: sudo dnf -y install git make ruff xz clang-tools-extra which codespell git-clang-format ShellCheck
run: sudo dnf -y install git make ruff xz clang-tools-extra codespell git-clang-format ShellCheck

- uses: actions/checkout@v4

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nftables-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Remove iptables
run: sudo apt remove -y iptables
- name: Install libnftables-dev
run: sudo scripts/ci/apt-install libnftables-dev
run: sudo contrib/apt-install libnftables-dev
- name: chmod 755 /home/runner
# CRIU's tests are sometimes running as some random user and need
# to be able to access the test files.
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ compel/compel
compel/compel-host-bin
images/*.c
images/*.h
images/google/protobuf/*.c
images/google/protobuf/*.h
.gitid
criu/criu
criu/unittest/unittest
Expand Down
5 changes: 0 additions & 5 deletions .lgtm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,3 @@ extraction:
- "python3-yaml"
- "libnl-route-3-dev"
- "gnutls-dev"
configure:
command:
- "ls -laR images/google"
- "ln -s /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto"
- "ls -laR images/google"
35 changes: 0 additions & 35 deletions .travis.yml

This file was deleted.

1 change: 1 addition & 0 deletions CLAUDE.md
Loading
Loading