Skip to content
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

pass real fd when restore and dump ext file #2502

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
321 commits
Select commit Hold shift + click to select a range
460c4d2
lib/py: drop python 2 compatibility
rst0git Jun 22, 2023
75d9d68
zdtm: drop python 2 compatibility
rst0git Jun 22, 2023
b759678
cgroup: Propagate error on cgroup mount failure.
osctobe May 31, 2023
ce33c49
files-reg: Debug "open file on overmounted mount" error.
osctobe Dec 9, 2022
b42e7af
compel: Log the status word with "Task is still running" errors.
osctobe Jun 22, 2023
cf01c32
sk-unix: Log both peer names when failing on an external stream unix …
osctobe Jun 22, 2023
13c08b8
soccr: Log offset when failed to restore socket's queued data.
osctobe May 17, 2023
dc3f4b5
soccr: Log name of socket queue that failed to restore.
osctobe May 17, 2023
4d67f67
log: Remove error logs for ignored or otherwise logged subprocess exits.
osctobe May 22, 2023
fb149f7
mount: Demote fsnotify logs for ignored failures.
osctobe May 22, 2023
cf4b225
irmap: Reduce error log severity to warning.
osctobe Jun 22, 2023
a4bb3f9
kerndat: bind ipv6-socket only if ipv6 is enabled
yevzman Jul 6, 2023
a96aa58
zdtm: replace NR_fstat with NR_statx
znley Jul 7, 2023
935e60d
kerndat: don't leak a socket file descriptor
avagin Jul 7, 2023
2d6f04c
ci: add workflow to ensure self-contained commits
snprajwal Jul 1, 2023
f684719
include: add common header files for loongarch64
znley Jun 12, 2023
52630db
compel: add loongarch64 support
znley Jun 12, 2023
521383d
images: add loongarch64 core image
znley Jun 12, 2023
95fbd7e
criu: add loongarch64 support to parasite and restorer
znley Jun 12, 2023
c941282
zdtm: add loongarch64 support
znley Jun 12, 2023
f70c782
ci: add workflow for loongarch64
znley Jul 11, 2023
9f69484
util: Implement fchown() and fchmod() wrappers.
osctobe Jun 21, 2023
923e66b
sk-unix: Avoid restore_file_perms() EPERM error for no-op changes.
osctobe Jun 21, 2023
5f214bc
files-reg: Avoid EPERM in ghost_apply_metadata() for no-op changes.
osctobe Jun 21, 2023
6e23125
cgroup: Replace restore_perms() with cr_fchperm().
osctobe Jun 21, 2023
00d061b
memfd: Avoid EPERM for no-op chown().
osctobe Jun 21, 2023
e90fbd7
tty: Avoid EPERM for no-op chown().
osctobe Jun 21, 2023
b9f360b
restore: Avoid need for CAP_SETPCAP if not changing uids.
osctobe Jun 21, 2023
53dd6ba
restore: Skip setgroups() when already correct.
osctobe Jun 21, 2023
ff67ad8
restore: Fix capability migration requirements between different kern…
osctobe Jun 21, 2023
6bad5d2
prctl: Migrate prctl(NO_NEW_PRIVS) setting.
osctobe Jun 22, 2023
d490218
prctl: test prctl(NO_NEW_PRIVS) setting
osctobe Jul 19, 2023
988a5f4
restore: Skip dropping BSET capability if irrelevant.
osctobe Jul 25, 2023
cc500d9
sk-inet: Extend 'TCP repair off' failure log.
osctobe May 22, 2023
f2d9672
memfd: dump and restore permissions.
osctobe Jul 27, 2023
88249fe
zdtm/memfd00: test memfd file mode
osctobe Jul 27, 2023
9118601
apparmor: fix incorrect usage of sizeof on char ptr
ancientmodern Aug 2, 2023
1db922f
page-xfer: Pull tcp_cork,nodelay().
osctobe Jul 31, 2023
72494ed
irmap: scan user-provided paths in order
osctobe Aug 1, 2023
242de4e
amdgpu_plugin: remove duplicated log prefix
rst0git Aug 7, 2023
6fc5bc6
scripts/apt: don't hide apt output
avagin Aug 7, 2023
2199220
ci/docker: install all required packages
avagin Aug 7, 2023
e1cda9f
lib/py: add VMA_AREA_MEMFD constant
rst0git Aug 13, 2023
288d6a6
loongarch64: reformat syscall_64.tbl for 8-wide tabs
avagin Aug 21, 2023
2f50da4
dump+restore: Implement membarrier() registration c/r.
osctobe Oct 6, 2022
b5c3ccc
zdtm: membarrier: test migration of membarrier() registration
osctobe Jun 19, 2023
5fedcaa
Put a cap on the size of single preadv in restore operation.
osctobe Aug 9, 2023
649292c
github: auto-remove `changes requested` and `awaiting reply` labels
avagin Aug 20, 2023
942b5fd
loongarch64: fix syscall_64.tbl
avagin Aug 24, 2023
359b257
memfd: don't set fd attributes not needed for vma mapping
osctobe Aug 24, 2023
675c5e4
ci/loongarch64: compile tests before running zdtm.py
avagin Aug 24, 2023
af31e8e
kerndat: Make pagemap check more robust against swapped out pages.
osctobe Aug 24, 2023
38baf73
compel/infect: include the relevant pid in "no-breakpoints restore" d…
osctobe Aug 22, 2023
ba27d27
proc_parse: remove trivial goto from vma_get_mapfile_user()
osctobe Aug 25, 2023
2df6ec5
test/other: add test for action-script
rst0git Mar 23, 2023
92b96a5
proc_parse: Log smaps entry while dumping VMA.
osctobe Aug 24, 2023
a04fac5
kerndat: Make errors from clone3() check more precise.
osctobe Aug 24, 2023
d0f88ff
kerndat: check_pagemap: close(fd) on error path
osctobe Aug 28, 2023
6d0e785
kerndat: check_pagemap: reword retried case explanation
osctobe Aug 28, 2023
e0d13ef
memfd: return original memfd fd for execveat()
osctobe Jul 27, 2023
a652c68
zdtm: test execveat(memfd)
osctobe Jul 27, 2023
959a32d
CONTRIBUTING.md: don't mention ctags
Snorch Aug 29, 2023
75146b0
CONTRIBUTING.md: improve coding-style related sections
Snorch Aug 29, 2023
03541c0
lint: don't fail workflow on indent fail
Snorch Aug 24, 2023
1df618a
vagrant: update to version 2.3.7
rst0git May 20, 2023
82bfb67
vagrant: run tests with fedora 38
rst0git May 20, 2023
4b7287b
dump: use MEMBARRIER_CMD_GET_REGISTRATIONS when available
mclapinski Sep 8, 2023
d752479
zdtm: test MEMBARRIER_CMD_GLOBAL_EXPEDITED migration
mclapinski Sep 13, 2023
f043f53
criu/plugin: Add environment variable to cap size of buffers.
fdavid-amd Apr 25, 2023
4766ffa
compel: Add support for ppc64le scv syscalls
ymanton Aug 31, 2023
4ae1518
lib/pycriu: generate version.py
rst0git Apr 25, 2023
b8b2fe6
crit/setup.py: use __version__ from pycriu
rst0git Apr 25, 2023
150eecc
py/cli: add --version option
rst0git Apr 25, 2023
5e37ccf
ci: stop testing ubuntu overlayfs
avagin Sep 23, 2023
1a6c015
zdtm: If ignoring kernel taint, also ignore taint changes.
osctobe May 29, 2023
f74140c
zdtm: cgroup04: Improve error messages.
osctobe May 30, 2023
66369f9
zdtm: cgroup04: Improve skip check's robustness.
osctobe May 31, 2023
87c42d5
zdtm: Treat ESRCH from kill() as success.
osctobe Apr 21, 2023
a056519
zdtm: socket_udp_shutdown: Make the test fail instead of timing out.
osctobe May 31, 2023
8b5f3af
zdtm: check userns once
avagin Sep 27, 2023
1e4f5fb
Return page size as unsigned long
yota9 Jun 20, 2023
4f0c07f
vma: Add !VVAR condition to vma_entry_can_be_lazy
yota9 Jun 20, 2023
5de9040
criu: change the comment about magic numbers
mclapinski Sep 29, 2023
f832d87
plugins: the UPDATE_VMA_MAP callback returns fd with the full control
avagin Sep 29, 2023
25f685e
amdgpu: don't leak fd on an error path in open_img_file
avagin Sep 29, 2023
01d559d
amdgpu: print an error if the dup syscall fails
avagin Sep 29, 2023
f593257
ci: enable build with amdgpu plugin
rst0git Sep 30, 2023
2ff90f0
amdgpu: fix clang warnings
rst0git Oct 1, 2023
f54cf19
memfd: don't reopen file descriptors for memory mappings
avagin Sep 22, 2023
c20fb83
zdtm/memfd04: check execveat on memfd that has memory mappings
avagin Sep 28, 2023
5bf7652
clang-format: disable column limit constraint
Snorch Aug 30, 2023
e3391ed
pie: Mark __export_*() functions as externally_visible
0x7f454c46 Feb 14, 2022
24e2492
util: allow to run criu under strace
avagin Sep 28, 2023
4e5247a
tun: don't parse buffers that have not been filled with data
avagin Oct 5, 2023
3015aad
apparmor: remove the redundant check
Mar 28, 2023
9e05b65
arch/x86: remove the redundant check
Mar 28, 2023
06a3f13
zdtm/cow00: fix typo
Mar 28, 2023
c03c737
zdtm/thread_different_uid_gid: remove the redundant check
Mar 28, 2023
ab73a84
criu/proc_parse: refactor the eventpoll parser
Mar 28, 2023
811a380
files-reg: don't change the file pos in get_build_id
mclapinski Oct 11, 2023
d9ca0c7
zdtm/lib: add missing signal.h header
mclapinski Oct 11, 2023
42c1c84
zdtm/static: test the offset migration of ELF files
mclapinski Oct 11, 2023
711775f
zdtm: cgroup_ifpriomap: Improve skip check's robustness.
osctobe May 31, 2023
df24fe8
lib: use separate packages for pycriu and crit
rst0git Oct 9, 2023
c474816
Makefile: introduce ARCHCFLAGS for arch specific cflags
marcusfolkesson Oct 20, 2023
d88dcef
comple: correct the syscall number of bind on ARM64
SallyKAN Nov 27, 2023
5e56756
ci: fix rawhide netlink error
adrianreber Nov 29, 2023
4213f16
test: check for btrfs in the current directory
adrianreber Nov 29, 2023
9d3e71a
ci: switch to permissive selinux mode during test
adrianreber Nov 29, 2023
b17a73b
ci: fix codespell errors
avagin Nov 21, 2023
95975e0
docker-test: fix condition for max tries
rst0git Nov 28, 2023
0da1ab2
docker-test: downgrade docker to v24.0.7
rst0git Nov 29, 2023
378da3b
Makefile: Use common warnings settings for loongarch64
iv-m Dec 6, 2023
dc49eb4
tty: skip ioctl(TIOCSLCKTRMIOS) if possible
mihalicyn Dec 8, 2023
1573064
ci: do not use 'tail' for skip-file-rwx-check test
adrianreber Nov 30, 2023
561f845
ci: fix centos-stream 9 ci errors
adrianreber Nov 30, 2023
e7aca13
ci: disable non-root in user namespace test in container
adrianreber Nov 30, 2023
61224f2
gitignore: remove historical left-over files
rst0git Oct 20, 2023
50aa6da
make: fix compilation on alpine
avagin Dec 28, 2023
cda1c5c
irmap: hardcode some more interesting paths
rayrapetyan Jan 7, 2024
0416d81
net: fix network unlock with iptables-nft
rst0git Jan 5, 2024
e5f4d8c
test/nfconntrack: use nft or iptables-legacy
rst0git Jan 5, 2024
8f4430d
net: add error messages for restore of nftables
rst0git Jan 7, 2024
615e45e
kerndat: check the PAGEMAP_SCAN ioctl
avagin Oct 25, 2023
bfa9428
page-cache: use the PAGEMAP_SCAN ioctl when it is available
avagin Oct 23, 2023
50190ae
pagemap-cache: add an ability to run tests without PAGEMAP_SCAN
avagin Nov 29, 2023
dfd7d63
zdtm: socket-tcp-nft-nfconntrack: add a hook to the chain in nft case
Snorch Jan 22, 2024
6349473
criu-log: remove unused declaration
rst0git Jan 24, 2024
07a090b
net: return bool with iptable_has_criu_jump_target
rst0git Jan 23, 2024
a9cbdad
plugin/amdgpu: Don't print error for "No such process" during resume
fdavid-amd Jan 30, 2024
639068e
plugin/amdgpu: Also don't print 'plugin failed' in criu
Snorch Feb 5, 2024
81f2c41
amdgpu_plugin: Refactor code in preparation to support C&R for DRM de…
rerrabolu Nov 10, 2023
9d9ae29
amdgpu_plugin: Refactor code used to implement Checkpoint
rerrabolu Nov 10, 2023
66cab1f
sk-inet: Added IP_TTL socket option
rahulk789 Nov 26, 2023
a49d6db
zdtm: Added tests for IP_TTL restore
rahulk789 Nov 26, 2023
495081c
sk-inet: fix codding style in restore_ip_opts
Snorch Feb 6, 2024
6d37f9a
amdgpu_plugin: fix lint errors
rst0git Feb 9, 2024
7bd786d
kerndat: check support for PAGE_IS_SOFT_DIRTY
rst0git Feb 12, 2024
cac03be
pb2dict: fix flake8 error
rst0git Jan 18, 2024
8a22b15
make: replace flake8 with ruff
rst0git Feb 9, 2024
da7e6d3
criu-ns: fix lint error
rst0git Feb 9, 2024
1120308
cgroup: Add support for restoring a thread in a correct v1 cgroup
StepanPieshkin Feb 2, 2024
d553fad
zdtm/static: check that cgroup layout of threads is preserved
StepanPieshkin Feb 2, 2024
c98fefd
compiler: add ALIGN_DOWN macro
rppt May 25, 2022
0dba58a
compel: always pass user_fpregs_struct_t to compel_get_task_regs()
rppt May 15, 2022
fc683cb
compel: shstk: save CET state when CPU supports it
rppt Mar 21, 2022
eee2236
compel: infect: prepare parasite_service() for addition of CET support
rppt May 15, 2022
a09a0eb
compel: shstk: prepare shadow stack signal frame
rppt May 15, 2022
dbab276
criu: shstk: add VMA_AREA_SHSTK flag
rppt May 15, 2022
95896b4
criu: shstk: premap and prepopulate shadow stack VMAs
rppt May 24, 2022
763d07a
criu: shstk: prepare shadow stack parameters for restorer blob
rppt May 25, 2022
9ac6584
criu: kerndat: add kdat_has_shstk()
rppt Nov 29, 2023
95c049e
restore: add infrastructure to enable shadow stack
rppt May 31, 2022
cb39c62
restorer: shstk: implement shadow stack restore
rppt May 25, 2022
f7b2e63
ci: try to fix broken docker test
adrianreber Mar 24, 2024
06c1016
mem: fix some VMAs being incorrectly mapped wtih PROT_WRITE
AT120 Mar 24, 2024
6ee6be5
Add support for reset-on-fork scheduling flag
rst0git Mar 4, 2024
2355a2a
zdtm/sched_policy00: use reset-on-fork flag
rst0git Mar 5, 2024
6182876
criu: move timers dump/restore code into separate file
ccccrrrr Feb 29, 2024
bec56d6
ci: silence CircleCI warning about deprecated image
adrianreber Mar 24, 2024
00d7cdc
timer: fix wrapping allignment in function declaration
Snorch Mar 27, 2024
9a282a5
Makefile.config: fix/improve feature warnings.
kolyshkin Apr 5, 2024
7aa8ec4
check: verify ino and dev of overlayfs files in /proc/pid/maps
avagin Dec 20, 2023
21c8f72
ci: update base OS to ubuntu 22.04
rst0git Mar 26, 2024
654fed9
ci: update actions/checkout to v4
rst0git Mar 26, 2024
1a4c103
ci/vdso01: fix typo
rst0git Mar 26, 2024
18dcf15
mem: optimize debug logging of enqueued pages
rst0git Apr 16, 2024
c716c4d
sk-tcp: cleanup dump_tcp_conn_state error handling
Snorch Apr 16, 2024
37fbcc5
criu: fix a fatal failure if nft doesn't work
kolyshkin May 9, 2024
de14579
sk-tcp: Move TCP socket options from TcpStreamEntry to TcpOptsEntry
juntongdeng May 19, 2024
277878b
sk-tcp: Move TCP socket options from SkOptsEntry to TcpOptsEntry
juntongdeng May 19, 2024
516b369
sk-tcp: Add test cases for TCP_CORK and TCP_NODELAY socket options
juntongdeng May 19, 2024
0f3246a
mount: fix unbounded write
rst0git May 23, 2024
f6d635c
test/make: remove unused target
rst0git May 21, 2024
8631228
ci: update check for SELinux
adrianreber May 21, 2024
1a848fe
criu: move sigact dump/restore code into sigact.c
arnavbhatt288 Mar 10, 2024
7de0b45
criu: use proper format-specified to accommodate time_t 64-bit change
mihalicyn May 26, 2024
b384afa
net: Fix TOCTOU race condition in unix_conf_op
avagin May 25, 2024
fea3890
pagemap-cache: handle short reads
avagin May 23, 2024
f4a16a0
zdtm: add support for LD_PRELOAD tests
rst0git May 23, 2024
9eaab45
ci: remove CentOS Stream 8 test (EOL)
adrianreber Jun 4, 2024
f287a1a
zdtm: Distinguish between fail and crash of dump
bsach64 Mar 28, 2024
ced120a
test/dump-crash: check code path when dump crashes
bsach64 Apr 19, 2024
b5e2025
ci: upgrade to Fedora 40 Vagrant images (38 is EOL)
adrianreber Jun 9, 2024
0567127
make: improve check for externally managed Python
rst0git May 21, 2024
bf8c134
readme: update link to FAQ page
rst0git Jun 22, 2024
fc65e46
criu: Restore rseq_cs state slightly earlier in the restore sequence …
jesus-ramos Jun 6, 2024
a85f488
criu/plugin: Introduce new plugin hooks PAUSE_DEVICES and CHECKPOINT_…
jesus-ramos Jun 6, 2024
c0708cb
criu/plugin: Add NVIDIA CUDA plugin
jesus-ramos May 31, 2024
a11e944
compel: fix build on Amazon Linux 2 due to missing PTRACE_ARCH_PRCTL
prati0100 Jun 25, 2024
0a725b8
plugins/cuda: fix crosscompilation
avagin Jul 2, 2024
fac8d64
irmap: duplicate string in irmap_scan_path_add
May 30, 2024
c2f101a
cgroupd: unblock SIGTERM to make stop_cgroupd actually work
Snorch Jul 2, 2024
c6c83f1
apparmor: get_suspend_policy must return NULL in error cases
avagin Jul 3, 2024
6f92787
vdso: proxify the __vdso_clock_gettime64 function
avagin Jul 3, 2024
116c689
scripts/build: drop centos 7 targets
rst0git Jul 7, 2024
dcb577b
util: use close_range when it's supported
avagin Jul 9, 2024
c2f9f90
zdtm: make cgroup testcases run non-parallel
minhbq-99 Jul 12, 2024
5c3f621
Adjust to glibc __rseq_size semantic change
fweimer-rh Jul 10, 2024
1b3ba30
docs: update amdgpu-plugin man page
rst0git Jul 9, 2024
8b04dd6
plugins: set executable bit on .so files
rst0git Jul 10, 2024
93746eb
test/zdtm: mount a new tmpfs to the zdtm root /dev
avagin Jul 21, 2024
7a27427
seize: fix pause-devices plugin hook
rst0git Jul 31, 2024
c4ba553
plugin: enable multiple plugins for the same hook
rst0git Jul 24, 2024
b7f6b72
delete redundant include header files
liuchao173 Aug 8, 2024
883d442
ci/podman: show criu logs in case of error
rst0git Jul 7, 2024
756a7aa
ci/podman: show mounts
rst0git Jul 7, 2024
208f60f
cuda: don't leak fds to cuda-checkpoint
rst0git Jul 8, 2024
b83f131
cuda: fix launch cuda-checkpoint
rst0git Jul 7, 2024
0a5dfcf
zdtm: add option to run tests with criu plugins
rst0git Jul 7, 2024
919de60
ci: run tests with amdgpu and cuda plugins
rst0git Jul 20, 2024
8cf9722
timer: fix printf specifiers for __suseconds64_t
rst0git Jul 25, 2024
6d4eeb7
support user set remote mmap vma address
duguhaotian Aug 6, 2024
6f09b49
test/zdtm: allow to run tests with the mocked cuda-checkpoint tool
avagin Aug 16, 2024
ad0b196
criu/plugin: don't call plugin device hooks for non-alive tasks
avagin Aug 12, 2024
8fce2b1
scripts/ci: run tests with the mocked cuda-checkpoint tool
avagin Aug 12, 2024
f1cb868
plugins/amdgpu: fix cross-compilation
rst0git Jul 9, 2024
870025c
ci: enable cross compile testing for amdgpu-plugin
rst0git Jul 9, 2024
5df8f86
plugins/amdgpu: use C99-standard types
rst0git Jul 21, 2024
0115298
plugins/amdgpu: fix printf format specifiers
rst0git Jul 10, 2024
47f81cd
crit: do not crash on aarch64 doing 'crit x ./ rss'
adrianreber Jul 5, 2024
190216a
test: better test for SELinux tools
adrianreber Jul 8, 2024
bc88db2
test: only run macvlan tests if macvlan devices can be created
adrianreber Jul 8, 2024
e67b428
coredump: fail on unsupported architectures early
adrianreber Jul 8, 2024
5ba1f84
ci: run aarch64 tests native via actuated
adrianreber Jul 4, 2024
5a74eee
cuda: unlock on timeout error
rst0git Aug 16, 2024
4ca4a09
scripts/uninstall_module: fix package discovery
rst0git Aug 17, 2024
e94c13c
codespell: fix typos
rst0git Sep 12, 2024
e4026fb
criu: Allow disabling freeze cgroups
avagin Sep 12, 2024
1190f10
fault: allow to check dont_use_freeze_cgroup
avagin Sep 12, 2024
6551847
plugin/cuda: disable CUDA plugin if /dev/nvidiactl isn't present
avagin Sep 14, 2024
412cdd2
plugins/amdgpu: Zero ib_info on initialization
fdavid-amd Sep 16, 2024
e451838
plugins/amdgpu - Increase maximum parameter length
fdavid-amd Sep 16, 2024
1079a51
util: dump fsfd log messages
avagin Sep 12, 2024
34e7134
amdgpu: remove exec permissions on source files
rst0git Sep 26, 2024
55c8917
Makefile.config: set CR_PLUGIN_DEFAULT variable
rst0git Sep 26, 2024
71b427a
images: Add protobuf definition for pidfd
bsach64 Jun 13, 2024
d559ebb
criu: Support C/R of pidfds
bsach64 Jun 13, 2024
005a331
zdtm: Check pidfd fdinfo entry is consistent
bsach64 Jul 9, 2024
4cec03a
zdtm: Check pidfd can send signal after C/R
bsach64 Jul 9, 2024
6bf8ab1
zdtm: Check pidfd can kill descendant processes
bsach64 Jul 8, 2024
69a6179
zdtm: Check dead pidfd is restored correctly
bsach64 Jul 24, 2024
bb1b1dc
zdtm: Check fd from pidfd_getfd is C/Red correctly
bsach64 Aug 16, 2024
56bc739
zdtm: Check pidfd for thread is valid after C/R
bsach64 Aug 26, 2024
900f94e
make/lint: use 'ruff check <path>'
rst0git Oct 14, 2024
59afbf3
pycriu: fix lint errors
rst0git Oct 14, 2024
18f7207
images/inventory: add field for enabled plugins
rst0git Oct 4, 2024
f5d59ec
zdtm: add inventory test plugins
rst0git Oct 14, 2024
dfb56ee
pidfd: block SIGCHLD during tmp process creation
bsach64 Oct 9, 2024
23b64b9
pass real fd when restore and dump ext file
duguhaotian Oct 24, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2.1
jobs:
test-local-gcc:
machine:
image: ubuntu-2004:202010-01
image: default
working_directory: ~/criu
steps:
- checkout
Expand All @@ -11,7 +11,7 @@ jobs:
command: sudo -E make -C scripts/ci local
test-local-clang:
machine:
image: ubuntu-2004:202010-01
image: default
working_directory: ~/criu
steps:
- checkout
Expand Down
68 changes: 4 additions & 64 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ task:
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-future python-protobuf python-junit_xml python3-importlib-metadata python-flake8 xmlto
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
# 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
systemctl stop sssd
# Even with selinux in permissive mode the selinux tests will be executed.
# The Cirrus CI user runs as a service from selinux point of view and is
Expand Down Expand Up @@ -89,69 +92,6 @@ task:
build_script: |
make -C scripts/ci vagrant-fedora-non-root

task:
name: CentOS Stream 8 based test
environment:
HOME: "/root"
CIRRUS_WORKING_DIR: "/tmp/criu"

compute_engine_instance:
image_project: centos-cloud
image: family/centos-stream-8
platform: linux
cpu: 4
memory: 8G

setup_script: |
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
# Do not fail if latest epel repository definition is already installed
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm || :
yum install -y dnf-plugins-core
yum config-manager --set-enabled powertools
yum install -y --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 python3-devel python3-flake8 python3-PyYAML python3-future python3-protobuf python3-importlib-metadata python3-junit_xml xmlto
alternatives --set python /usr/bin/python3
systemctl stop sssd
# Even with selinux in permissive mode the selinux tests will be executed
# The Cirrus CI user runs as a service from selinux point of view and is
# much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0)
# The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode
setenforce 0

build_script: |
make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_OPTS="-x zdtm/static/socket-raw"

task:
name: CentOS 7 based test
environment:
HOME: "/root"
CIRRUS_WORKING_DIR: "/tmp/criu"

compute_engine_instance:
image_project: centos-cloud
image: family/centos-7
platform: linux
cpu: 4
memory: 8G

setup_script: |
# EPEL is needed for python2-future, python2-junit_xml, python-flake8 and libbsd-devel.
# Do not fail if latest epel repository definition is already installed
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm || :
ln -sf /usr/include/google/protobuf/descriptor.proto images/google/protobuf/descriptor.proto
yum install -y findutils gcc git gnutls-devel iproute iptables libaio-devel libasan libcap-devel libnet-devel libnl3-devel libbsd-devel make procps-ng protobuf-c-devel protobuf-devel protobuf-python python python-flake8 python-ipaddress python2-future python2-junit_xml python-yaml python-six sudo tar which e2fsprogs python2-pip rubygem-asciidoctor libselinux-devel
# Even with selinux in permissive mode the selinux tests will be executed
# The Cirrus CI user runs as a service from selinux point of view and is
# much more restricted than a normal shell (system_u:system_r:unconfined_service_t:s0)
# The test case above (vagrant-fedora-no-vdso) should run selinux tests in enforcing mode
setenforce 0
# Enable user namespaces on CentOS 7
echo 10000 > /proc/sys/user/max_user_namespaces
# Adapt sudoers to our needs
echo 'root ALL=(ALL:ALL) ALL' | EDITOR='tee -a' visudo

build_script: |
make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1 ZDTM_IGNORE_TAINT=1 ZDTM_OPTS="-x zdtm/static/socket-raw -x zdtm/static/child_subreaper_existing_child -x zdtm/static/fifo_upon_unix_socket01 -x zdtm/static/overmount_sock -x zdtm/static/tempfs_overmounted"

task:
name: aarch64 build GCC (native)
arm_container:
Expand Down
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ BreakConstructorInitializersBeforeComma: false
BreakConstructorInitializers: BeforeComma # Unknown to clang-format-4.0
BreakAfterJavaFieldAnnotations: false
BreakStringLiterals: false
ColumnLimit: 120
ColumnLimit: 0
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false # Unknown to clang-format-4.0
ConstructorInitializerAllOnOneLineOrOnePerLine: false
Expand Down
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[codespell]
skip = ./.git,./test/pki
ignore-words-list = creat,fpr,fle,ue,bord,parms,nd,te,testng
ignore-words-list = creat,fpr,fle,ue,bord,parms,nd,te,testng,inh,wronly,renderd,bui,clen
52 changes: 52 additions & 0 deletions .github/workflows/actuated-aarch64-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Actuated 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 }}
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:
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

- uses: actions/checkout@v4
- name: Run Tests ${{ matrix.target }}
# Following tests are failing on the actuated 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))
#
# In combination with '--remote-lazy-pages' following error occurs:
# 138: FAIL: maps05.c:84: Data corrupted at page 1639 (errno = 11 (Resource temporarily unavailable))
run: |
# The 'sched_policy00' needs the following:
sudo sysctl -w kernel.sched_rt_runtime_us=-1
# etc/hosts entry is needed for netns_lock_iptables
echo "127.0.0.1 localhost" | sudo tee -a /etc/hosts
sudo -E make -C scripts/ci local ${{ matrix.target }} RUN_TESTS=1 \
ZDTM_OPTS="-x zdtm/static/change_mnt_context -x zdtm/static/maps05"
4 changes: 2 additions & 2 deletions .github/workflows/alpine-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
target: [GCC=1, CLANG=1]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Alpine ${{ matrix.target }} Test
run: sudo -E make -C scripts/ci alpine ${{ matrix.target }}
4 changes: 2 additions & 2 deletions .github/workflows/archlinux-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Arch Linux Test
run: sudo -E make -C scripts/ci archlinux
30 changes: 30 additions & 0 deletions .github/workflows/check-commits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Verify self-contained commits

on: pull_request

# Cancel any preceding run on the pull request
concurrency:
group: commit-test-${{ github.event.pull_request.number }}

jobs:
build:
runs-on: ubuntu-latest
# Check if pull request does not have label "not-selfcontained-ok"
if: "!contains(github.event.pull_request.labels.*.name, 'not-selfcontained-ok')"
steps:
- uses: actions/checkout@v3
with:
# Needed to rebase against the base branch
fetch-depth: 0
# Checkout pull request HEAD commit instead of merge commit
ref: ${{ github.event.pull_request.head.sha }}
- name: Install dependencies
run: sudo apt-get install -y libprotobuf-dev libprotobuf-c-dev protobuf-c-compiler protobuf-compiler python3-protobuf libnl-3-dev libnet-dev libcap-dev
- name: Configure git user details
run: |
git config --global user.email "[email protected]"
git config --global user.name "checkpoint-restore"
- name: Configure base branch without switching current branch
run: git fetch origin ${{ github.base_ref }}:${{ github.base_ref }}
- name: Build each commit
run: git rebase ${{ github.base_ref }} -x "make -C scripts/ci check-commit"
4 changes: 2 additions & 2 deletions .github/workflows/compat-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
matrix:
target: [GCC, CLANG]


steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Compat Tests (${{ matrix.target }})
run: sudo -E make -C scripts/ci local COMPAT_TEST=y ${{ matrix.target }}=1
2 changes: 1 addition & 1 deletion .github/workflows/cross-compile-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
branches: [criu-dev, master]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branches }}
- name: Run Cross Compilation Targets
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cross-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
target: mips64el-unstable-cross

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Cross Compilation Targets
run: >
sudo make -C scripts/ci ${{ matrix.target }}
4 changes: 2 additions & 2 deletions .github/workflows/docker-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
os: [ubuntu-22.04]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Docker Test (${{ matrix.os }})
run: sudo make -C scripts/ci docker-test
4 changes: 2 additions & 2 deletions .github/workflows/fedora-asan-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Fedora ASAN Test
run: sudo -E make -C scripts/ci fedora-asan
4 changes: 2 additions & 2 deletions .github/workflows/fedora-rawhide-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Fedora Rawhide Test
# We need to pass environment variables from the CI environment to
# distinguish between CI environments. However, we need to make sure that
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/gcov-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Coverage Tests
run: sudo -E make -C scripts/ci local GCOV=1
- name: Run gcov
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/java-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Java Test
run: sudo make -C scripts/ci java-test
22 changes: 11 additions & 11 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ jobs:
image: registry.fedoraproject.org/fedora:latest
steps:
- name: Install tools
run: sudo dnf -y install git make python3-flake8 xz clang-tools-extra which codespell git-clang-format ShellCheck
run: sudo dnf -y install git make ruff xz clang-tools-extra which codespell git-clang-format ShellCheck

- uses: actions/checkout@v2
- uses: actions/checkout@v4

- name: Set git safe directory
# https://github.com/actions/checkout/issues/760
Expand All @@ -26,15 +26,15 @@ jobs:
run: make lint

- name: Run make indent
run: >
continue-on-error: true
run: |
if [ -z "${{github.base_ref}}" ]; then
git fetch --deepen=1 &&
if ! make indent OPTS=--diff; then
exit 1
fi
git fetch --deepen=1
make indent
else
git fetch origin ${{github.base_ref}} &&
if ! make indent OPTS=--diff BASE=origin/${{github.base_ref}}; then
exit 1
fi
git fetch origin ${{github.base_ref}}
make indent BASE=origin/${{github.base_ref}}
fi
- name: Raise in-line make indent warnings
run: |
git diff | ./scripts/github-indent-warnings.py
15 changes: 15 additions & 0 deletions .github/workflows/loongarch64-qemu-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: LoongArch64 Qemu Test

on: [push, pull_request]

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

jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- run: sudo make -C scripts/ci loongarch64-qemu-test
14 changes: 14 additions & 0 deletions .github/workflows/manage-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Remove labels
on: [issue_comment, pull_request_review_comment]
jobs:
remove-labels-on-comments:
name: Remove labels on comments
if: github.event_name == 'issue_comment'
runs-on: ubuntu-latest
steps:
- uses: mondeja/remove-labels-gh-action@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
labels: |
changes requested
awaiting reply
4 changes: 2 additions & 2 deletions .github/workflows/podman-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ concurrency:

jobs:
build:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Run Podman Test
run: sudo make -C scripts/ci podman-test
Loading
Loading