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

[GSoC 2021] Introduce io_uring dump/restore support #1597

Draft
wants to merge 121 commits into
base: criu-dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
ef51ff5
Add flog to CRIU
prakritigoyal19 Jun 7, 2020
b5fcd70
flog: Missing varargs init or cleanup (VARARGS)
adrianreber Sep 28, 2020
1a4721f
Run 'make indent' on 'flog/'
adrianreber Aug 4, 2021
93d977c
criu(8): add --external net option
rst0git Sep 20, 2021
32055ec
criu: Introduce new device file plugin hooks
rajbhar Apr 15, 2021
3470e3d
criu/plugin: Implement dummy amdgpu plugin hooks
rajbhar Jul 15, 2021
951f8bc
criu/files: Don't cache fd ids for device files
rajbhar Apr 27, 2021
de3a711
tcp: Skip restoring TCP state when dumping with --tcp-close
minhbq-99 Aug 12, 2021
40fc4f6
zdtm: Dumping/restoring with --tcp-close on TCP_CLOSE socket
minhbq-99 Sep 20, 2021
4eb1a3d
criu(8): Add more detailed description about --tcp-close dump option
minhbq-99 Oct 4, 2021
96acfa9
Add support for python3 in criu-coredump
AndreyVV-100 Aug 26, 2021
db79777
Add new files for running criu-coredump via python 2 or 3
AndreyVV-100 Jul 23, 2021
e3f910f
coredump: remove unused import
rst0git Sep 5, 2021
8b69c69
coredump: sort imports
rst0git Sep 5, 2021
f0f0d7f
coredump: convert indentation to spaces
rst0git Sep 5, 2021
e108510
python: replace equality with identity test
rst0git Sep 5, 2021
2f4e9c3
coredump: drop unused variable
rst0git Sep 5, 2021
7833c71
coredump: drop exec permission
rst0git Sep 5, 2021
71c0541
coredump: lint fix for block comments
rst0git Sep 5, 2021
4abfd7e
coredump: fix missing whitespace around operator
rst0git Sep 5, 2021
c53231f
coredump: fix too many blank lines
rst0git Sep 5, 2021
718d003
coredump: fix comparison to true
rst0git Sep 5, 2021
bf85f98
coredump: lint fix visually indented line
rst0git Sep 5, 2021
e56c944
test/coredump: fix shellcheck errors
rst0git Sep 5, 2021
ff7eea0
make: enable lint for coredump
rst0git Sep 5, 2021
4a67277
ci: enable coredump tests
rst0git Sep 5, 2021
8ee0ce3
pie/restorer: remove excess hash printf specifier
Snorch Oct 21, 2021
79c1943
tty: fix the null pointer of get_tty_driver
Sep 17, 2021
6dadc8b
util: use nftw in rmrf helper
Snorch Oct 22, 2021
d6d76e0
criu-ns: make pidns init first do setsid
Snorch Oct 18, 2021
62090e8
net: optimize restore_rule() to not open the CR_FD_RULE image file twice
nviennot Oct 28, 2021
e11c742
ci: replace deprecated codecov bash uploader
adrianreber Oct 27, 2021
a86a66f
ci: fix userfaultfd test failures
adrianreber Nov 4, 2021
07a2f02
ci: use Fedora 34 for lint CI runs
adrianreber Nov 4, 2021
b405b1b
tests: improve the image streamer process control
nviennot Oct 29, 2021
d1e0bcf
sockets: don't call sk_setbufs asyncronously
Snorch Jul 29, 2021
5e13d03
kerndat: check for set/getsockopt SO_BUF_LOCK availability
Snorch Jul 29, 2021
9d02a38
sockets: c/r bufer size locks
Snorch Jul 29, 2021
579b8b0
zdtm: add test for socket buffer size locks
Snorch Jul 29, 2021
b4cc856
zdtm: make sock_opts02 also check lock change by SO_*BUF*
Snorch Aug 3, 2021
78723d0
clang-format: enable AlignTrailingComments
Snorch Oct 28, 2021
8e8870f
clang-format: do several manual comment fixups
Snorch Oct 28, 2021
94ce85c
clang-format: do automatic comment fixups
Snorch Oct 28, 2021
6881499
cr-dump: fail dumping when zombie process with sid 0
Nov 1, 2021
fef55d6
clang-format: make x86_ins_capability_mask human-readable
Snorch Oct 29, 2021
268bd34
ci: disable socket-raw test on centos8
Snorch Nov 19, 2021
014e4f3
zdtm.py: make tests with --link_remap exclusive
Snorch Nov 3, 2021
fd48f1a
tests: improve the deterministic behavior of the test suite
nviennot Oct 29, 2021
d4ae0b7
clang-format/zdtm: fix clang complains about strange elseifs
Snorch Nov 23, 2021
5643067
seize: restore cgroup freezer to right state
Nov 5, 2021
def608a
ci: Use latest Fedora for lint ci runs again
Snorch Nov 24, 2021
983464f
crtools: ignore SIGPIPE in swrk mode
Nov 4, 2021
21873e0
ci: switch to centos-stream-8
adrianreber Nov 24, 2021
6754b16
check: cleanup child processes
nviennot Nov 19, 2021
ae3bf06
files-reg: fix error handling in open_path
Snorch Feb 13, 2020
2894e24
files-reg: fix error handling of rm_parent_dirs
Snorch Feb 13, 2020
0a2d380
ghost/mount: allocate remounted_rw in shmem to get info from other pr…
Snorch Feb 13, 2020
3aca580
files-reg: temporary remount writable the mount we do unlink on
Snorch Feb 13, 2020
d137057
zdtm: add ro-mount check after c/r to mntns_ghost01
Snorch Nov 30, 2021
bb9c27c
clang-format: disable wrong struct pointer declaration format
Snorch Nov 25, 2021
9134e85
ci: Run cross compile on debian stable
rst0git Dec 4, 2021
e16ea6a
ci: Run cross compile with debian testing
rst0git Dec 4, 2021
8887dfb
make: Explicitly enable FPU on ARMv7 builds
carnil Dec 4, 2021
e7efdff
ci: disable broken tests until fixed
adrianreber Dec 3, 2021
3b81160
test: do not use --keep-going for single zdtm tests
adrianreber Dec 5, 2021
94d3c96
files-reg: try dump_ghost_remap if link-remap failed with error ENOENT
langyenan Dec 3, 2021
b9ae481
util: make page-server IPv6 safe
adrianreber Dec 7, 2021
4cf1336
sk-unix: Fix TCP_ESTABLISHED checks in unix sockets
minhbq-99 Dec 2, 2021
1cfca8e
ci: Enable disabled unix socket related tests
minhbq-99 Dec 7, 2021
010016d
ci: install procps in Alpine
rst0git Dec 10, 2021
1ddc8a3
test: another try to correctly fix the kernel version
adrianreber Dec 3, 2021
b270ce2
x86/compel/fault-inject: bound xsave features set
mihalicyn Dec 13, 2021
ef96f75
x86/compel/fault-inject: print the initial seed
mihalicyn Dec 13, 2021
df36ad5
ci: enable x86 xsave fault injection tests back
mihalicyn Dec 13, 2021
70f20b4
Add documentation for --timeout option
rst0git Dec 14, 2021
fc1e778
usernsd: UNS_FDOUT should not require an input descriptor
avagin Dec 14, 2021
d67af35
libcriu: add setting lsm-mount-context to libcriu
adrianreber Dec 1, 2021
4b75e29
ci: use unstable release for cross-compile
rst0git Dec 18, 2021
d99def7
ci: disable glibc rseq support
rst0git Dec 17, 2021
7b59095
libcriu: add single pre-dump support
adrianreber Dec 3, 2021
e4ccdc6
tests: added test for single pre-dump support
adrianreber Dec 14, 2021
9867517
zdtm.py: clean up MAKEFLAGS env variable before running make instance
mihalicyn Dec 18, 2021
e0bf87f
zdtm: zdtm_ct fix compilation error with strict-prototypes on
mihalicyn Dec 18, 2021
5083232
zdtm: remove mntns-deleted-dst test leftover from git
Snorch Dec 17, 2021
b8825cd
crtools: remove excess always true condition
Snorch Dec 10, 2021
6006fc1
crtools/rpc: export current criu mode to opts.mode
Snorch Dec 10, 2021
95c3d51
crtools: use new opts.mode in image_dir_mode
Snorch Dec 15, 2021
d263223
crtools: check that cpuinfo command has sub-command
Snorch Dec 16, 2021
2407ff4
sk-unix: Add support for SOCK_SEQPACKET unix sockets
minhbq-99 Dec 14, 2021
41a696d
zdtm: Add SOCK_SEQPACKET variants to unix socket tests
minhbq-99 Dec 16, 2021
0bef863
tls: fix typo
rst0git Dec 7, 2021
6ca8233
tls: use ssize_t for return value
rst0git Dec 7, 2021
8bddd88
tls: add more comments
rst0git Dec 16, 2021
c371406
uffd: call disconnect_from_page_server to shutdown a page-server conn…
avagin Dec 22, 2021
fa03dcf
tls: allow to terminate connections synchronously
avagin Dec 22, 2021
cc1120a
page-xfer: stop waiting for a new command after a close command
avagin Dec 22, 2021
5e975ab
ci: reenable the lazy-thp test in the lazy-remote mode
avagin Dec 23, 2021
a5576e1
test: log testname.out.inprogress if a test has failed
avagin Dec 23, 2021
bed670f
zdtm: print tails of all logs if a test has failed
avagin Dec 23, 2021
4152a88
zdtm/static/uffd-events: add more log messages
avagin Dec 23, 2021
1d10fc1
mount: split check_mountpoint_fd from __open_mountpoint
Snorch Dec 17, 2021
0aed7a8
mount: remove mnt_fd argument of __open_mountpoint
Snorch Dec 17, 2021
758f3be
proc_parse: add helper to resolve sdev from fd
Snorch Dec 16, 2021
ca615ea
mount/btrfs: make check_mountpoint_fd fallback to get_sdev_from_fd
Snorch Dec 16, 2021
125b32d
ci: test criu-image-streamer with all tests
nviennot Dec 28, 2021
3caa619
readme: add docker test badge
rst0git Jan 10, 2022
bf9a5b8
contributing: remove old badges and logo
rst0git Jan 10, 2022
3377245
ci: update to latest Vagrant and Fedora images
adrianreber Dec 3, 2021
acc68cf
ci: added .lgtm.yml file
adrianreber Jan 16, 2022
5b43c3c
lib: introduce feature check in libcriu
adrianreber Dec 6, 2021
c2a12bb
lib: added tests for feature check in libcriu
adrianreber Dec 6, 2021
4223e68
pagemap: tiny fix on truncating memory image
Jan 6, 2022
a162d2b
zdtm: fix zdtm/static/maps00 case in arm64
Jan 16, 2022
dfada9d
compel: fix GCC 12 failure (out of bounds)
adrianreber Jan 18, 2022
93b1526
criu: fix configuration file scanner with GCC 12
adrianreber Jan 18, 2022
04f8368
compel: fix parasite with GCC 12
adrianreber Jan 18, 2022
985b920
ci: set continue-on-error for cross-compile
rst0git Jan 27, 2022
d72dadd
test/autofs: fix use-after-free
rst0git Jan 27, 2022
c2698b9
Fix formatting in criu documentation
ashu-mehra Jan 26, 2022
ab6213c
bpf: Introduce iterator support
kkdwivedi Jan 14, 2022
0df5e21
Introduce io_uring dump/restore support
kkdwivedi Jun 27, 2021
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
4 changes: 2 additions & 2 deletions .cirrus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ task:

compute_engine_instance:
image_project: centos-cloud
image: family/centos-8
image: family/centos-stream-8
platform: linux
cpu: 4
memory: 8G
Expand All @@ -47,7 +47,7 @@ task:
pip3 install junit_xml

build_script: |
make -C scripts/ci local SKIP_CI_PREP=1 CC=gcc CD_TO_TOP=1
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
Expand Down
2 changes: 1 addition & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left # Unknown to clang-format-4.0
AlignOperands: true
AlignTrailingComments: false
AlignTrailingComments: true
AlignConsecutiveMacros: true
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cross-compile-daily.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
target: [armv7-cross, aarch64-cross, ppc64-cross, mips64el-cross]
target: [armv7-stable-cross, aarch64-stable-cross, ppc64-stable-cross, mips64el-stable-cross]
branches: [criu-dev, master]

steps:
Expand Down
19 changes: 18 additions & 1 deletion .github/workflows/cross-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,26 @@ jobs:
build:

runs-on: ubuntu-latest
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: false
matrix:
target: [armv7-cross, aarch64-cross, ppc64-cross, mips64el-cross]
experimental: [false]
target: [
armv7-stable-cross,
aarch64-stable-cross,
ppc64-stable-cross,
mips64el-stable-cross,
]
include:
- experimental: true
target: armv7-unstable-cross
- experimental: true
target: aarch64-unstable-cross
- experimental: true
target: ppc64-unstable-cross
- experimental: true
target: mips64el-unstable-cross

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/gcov-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ jobs:
- uses: actions/checkout@v2
- name: Run Coverage Tests
run: sudo -E make -C scripts/ci local GCOV=1
- name: Run gcov
run: sudo -E find . -name '*gcda' -type f -print0 | sudo -E xargs --null --max-args 128 --max-procs 4 gcov
- name: Run Coverage Analysis
run: sudo -E make codecov
30 changes: 30 additions & 0 deletions .lgtm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
extraction:
cpp:
prepare:
packages:
- "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"
- "python3-yaml"
- "libnl-route-3-dev"
- "python-future"
- "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"
5 changes: 0 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,3 @@
[![master](https://travis-ci.org/checkpoint-restore/criu.svg?branch=master)](https://travis-ci.org/checkpoint-restore/criu)
[![development](https://travis-ci.org/checkpoint-restore/criu.svg?branch=criu-dev)](https://travis-ci.org/checkpoint-restore/criu)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/55251ec7db28421da4481fc7c1cb0cee)](https://www.codacy.com/app/xemul/criu?utm_source=github.com&utm_medium=referral&utm_content=xemul/criu&utm_campaign=Badge_Grade)
<p align="center"><img src="https://criu.org/w/images/1/1c/CRIU.svg" width="128px"/></p>

## How to contribute to CRIU

CRIU project is (almost) the never-ending story, because we have to always keep up with the
Expand Down
19 changes: 15 additions & 4 deletions Documentation/criu.txt
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,12 @@ In other words, do not use it unless really needed.
Tell *criu* that one end of a pair of UNIX sockets (created by
*socketpair*(2)) with the given _id_ is OK to be disconnected.

*--external* **net[**__inode__**]:**__name__::
Mark a network namespace as external and do not include it in the
checkpoint. The label 'name' can be used with *--inherit-fd* during
restore to specify a file descriptor to a preconfigured network
namespace.

*--external* **pid[**__inode__**]:**__name__::
Mark a PID namespace as external. This can be later used to restore
a process into an existing PID namespace. The label 'name' can be
Expand Down Expand Up @@ -328,7 +334,8 @@ mount -t cgroup -o devices,freezer none devices,freezer
Checkpoint established TCP connections.

*--tcp-close*::
Don't dump the state of, or block, established tcp connections.
Don't dump the state of, or block, established tcp connections
(including the connection is once established but now closed).
This is useful when tcp connections are not going to be restored.

*--skip-in-flight*::
Expand Down Expand Up @@ -360,6 +367,10 @@ mount -t cgroup -o devices,freezer none devices,freezer
Allows to link unlinked files back, if possible (modifies filesystem
during *restore*).

*--timeout* 'number'::
Set a time limit in seconds for collecting tasks during the
dump operation. The timeout is 10 seconds by default.

*--ghost-limit* 'size'::
Set the maximum size of deleted file to be carried inside image.
By default, up to 1M file is allowed. Using this
Expand Down Expand Up @@ -408,7 +419,7 @@ By default the option is set to *fpu* and *ins*.
Set the method to be used to validate open files. Validation is done
to ensure that the version of the file being restored is the same
version when it was dumped.

+
The 'mode' may be one of the following:

*filesize*:::
Expand Down Expand Up @@ -521,7 +532,7 @@ usually need to be escaped from shell.
Restore cgroups configuration associated with a task from the image.
Controllers are always restored in an optimistic way -- if already present
in system, *criu* reuses it, otherwise it will be created.

+
The 'mode' may be one of the following:

*none*::: Do not restore cgroup properties but require cgroup to
Expand Down Expand Up @@ -645,7 +656,7 @@ are not adequate, but this can be suppressed by using *--cpu-cap=none*.
Set the method to be used to validate open files. Validation is done
to ensure that the version of the file being restored is the same
version when it was dumped.

+
The 'mode' may be one of the following:

*filesize*:::
Expand Down
32 changes: 27 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ifeq ($(ARCH),arm)
endif

ifeq ($(ARMV),7)
USERCFLAGS += -march=armv7-a
USERCFLAGS += -march=armv7-a+fp
endif

ifeq ($(ARMV),8)
Expand Down Expand Up @@ -147,7 +147,7 @@ HOSTCFLAGS += $(WARNINGS) $(DEFINES) -iquote include/
export AFLAGS CFLAGS USERCLFAGS HOSTCFLAGS

# Default target
all: criu lib crit
all: flog criu lib crit
.PHONY: all

#
Expand Down Expand Up @@ -233,6 +233,15 @@ soccr/built-in.o: $(CONFIG_HEADER) .FORCE
$(SOCCR_A): |soccr/built-in.o
criu-deps += $(SOCCR_A)

#flog gets used by criu, build it earlier

flogMakefile: ;
flog%:
$(Q) $(MAKE) $(build)=flog $@
flog:
$(Q) $(MAKE) $(build)=flog all
.PHONY: flog

#
# CRIU building done in own directory
# with slightly different rules so we
Expand Down Expand Up @@ -275,6 +284,7 @@ lib: crit

clean mrproper:
$(Q) $(MAKE) $(build)=images $@
$(Q) $(MAKE) $(build)=flog $@
$(Q) $(MAKE) $(build)=criu $@
$(Q) $(MAKE) $(build)=soccr $@
$(Q) $(MAKE) $(build)=lib $@
Expand All @@ -284,15 +294,19 @@ clean mrproper:
$(Q) $(MAKE) $(build)=crit $@
.PHONY: clean mrproper

clean-dummy_amdgpu_plugin:
$(Q) $(MAKE) -C plugins/amdgpu clean
.PHONY: clean dummy_amdgpu_plugin

clean-top:
$(Q) $(MAKE) -C Documentation clean
$(Q) $(MAKE) $(build)=test/compel clean
$(Q) $(RM) .gitid
.PHONY: clean-top

clean: clean-top
clean: clean-top clean-dummy_amdgpu_plugin

mrproper-top: clean-top
mrproper-top: clean-top clean-dummy_amdgpu_plugin
$(Q) $(RM) $(CONFIG_HEADER)
$(Q) $(RM) $(VERSION_HEADER)
$(Q) $(RM) $(COMPEL_VERSION_HEADER)
Expand Down Expand Up @@ -320,6 +334,10 @@ test: zdtm
$(Q) $(MAKE) -C test
.PHONY: test

dummy_amdgpu_plugin:
$(Q) $(MAKE) -C plugins/amdgpu all
.PHONY: dummy_amdgpu_plugin

#
# Generating tar requires tag matched CRIU_VERSION.
# If not found then simply use GIT's describe with
Expand Down Expand Up @@ -409,11 +427,13 @@ lint:
flake8 --config=scripts/flake8.cfg test/others/rpc/config_file.py
flake8 --config=scripts/flake8.cfg lib/py/images/pb2dict.py
flake8 --config=scripts/flake8.cfg scripts/criu-ns
flake8 --config=scripts/flake8.cfg coredump/
shellcheck --version
shellcheck scripts/*.sh
shellcheck scripts/ci/*.sh scripts/ci/apt-install
shellcheck test/others/crit/*.sh
shellcheck test/others/libcriu/*.sh
shellcheck test/others/crit/*.sh test/others/criu-coredump/*.sh
shellcheck test/others/config-file/*.sh
# Do not append \n to pr_perror or fail
! git --no-pager grep -E '^\s*\<(pr_perror|fail)\>.*\\n"'
Expand All @@ -429,7 +449,9 @@ lint:

codecov: SHELL := $(shell which bash)
codecov:
bash <(curl -s https://codecov.io/bash)
curl -Os https://uploader.codecov.io/latest/linux/codecov
chmod +x codecov
./codecov
.PHONY: codecov

fetch-clang-format: .FORCE
Expand Down
8 changes: 7 additions & 1 deletion Makefile.install
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ MANDIR ?= $(PREFIX)/share/man
INCLUDEDIR ?= $(PREFIX)/include
LIBEXECDIR ?= $(PREFIX)/libexec
RUNDIR ?= /run
PLUGINDIR ?= /var/lib/criu

#
# For recent Debian/Ubuntu with multiarch support.
Expand All @@ -26,7 +27,7 @@ endif
LIBDIR ?= $(PREFIX)/lib

export PREFIX BINDIR SBINDIR MANDIR RUNDIR
export LIBDIR INCLUDEDIR LIBEXECDIR
export LIBDIR INCLUDEDIR LIBEXECDIR PLUGINDIR

install-man:
$(Q) $(MAKE) -C Documentation install
Expand All @@ -40,6 +41,10 @@ install-criu: criu
$(Q) $(MAKE) $(build)=criu install
.PHONY: install-criu

install-dummy_amdgpu_plugin: dummy_amdgpu_plugin
$(Q) $(MAKE) -C plugins/amdgpu install
.PHONY: install-dummy_amdgpu_plugin

install-compel: $(compel-install-targets)
$(Q) $(MAKE) $(build)=compel install
$(Q) $(MAKE) $(build)=compel/plugins install
Expand All @@ -54,4 +59,5 @@ uninstall:
$(Q) $(MAKE) $(build)=criu $@
$(Q) $(MAKE) $(build)=compel $@
$(Q) $(MAKE) $(build)=compel/plugins $@
$(Q) $(MAKE) -C plugins/amdgpu $@
.PHONY: uninstall
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
![X86_64 GCC Test](https://github.com/checkpoint-restore/criu/workflows/X86_64%20GCC%20Test/badge.svg)
![Podman Test](https://github.com/checkpoint-restore/criu/workflows/Podman%20Test/badge.svg)
![Docker Test](https://github.com/checkpoint-restore/criu/actions/workflows/docker-test.yml/badge.svg)
![Podman Test](https://github.com/checkpoint-restore/criu/actions/workflows/podman-test.yml/badge.svg)
[![CircleCI](https://circleci.com/gh/checkpoint-restore/criu.svg?style=svg)](https://circleci.com/gh/checkpoint-restore/criu)

<p align="center"><img src="https://criu.org/w/images/1/1c/CRIU.svg" width="256px"/></p>
Expand Down
2 changes: 1 addition & 1 deletion compel/arch/aarch64/src/lib/infect.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ unsigned __page_shift = 0;
*/
const char code_syscall[] = {
0x01, 0x00, 0x00, 0xd4, /* SVC #0 */
0x00, 0x00, 0x20, 0xd4 /* BRK #0 */
0x00, 0x00, 0x20, 0xd4 /* BRK #0 */
};

static const int code_syscall_aligned = round_up(sizeof(code_syscall), sizeof(long));
Expand Down
2 changes: 1 addition & 1 deletion compel/arch/arm/src/lib/infect.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/
const char code_syscall[] = {
0x00, 0x00, 0x00, 0xef, /* SVC #0 */
0xf0, 0x01, 0xf0, 0xe7 /* UDF #32 */
0xf0, 0x01, 0xf0, 0xe7 /* UDF #32 */
};

static const int code_syscall_aligned = round_up(sizeof(code_syscall), sizeof(long));
Expand Down
10 changes: 5 additions & 5 deletions compel/arch/mips/src/lib/include/ldsodefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ struct La_mips_64_retval;
/* An entry in a 64 bit SHT_REL section. */

typedef struct {
Elf32_Word r_sym; /* Symbol index */
unsigned char r_ssym; /* Special symbol for 2nd relocation */
Elf32_Word r_sym; /* Symbol index */
unsigned char r_ssym; /* Special symbol for 2nd relocation */
unsigned char r_type3; /* 3rd relocation type */
unsigned char r_type2; /* 2nd relocation type */
unsigned char r_type1; /* 1st relocation type */
Expand All @@ -82,14 +82,14 @@ typedef union {
} _Elf64_Mips_R_Info_union;

typedef struct {
Elf64_Addr r_offset; /* Address */
Elf64_Addr r_offset; /* Address */
_Elf64_Mips_R_Info_union r_info; /* Relocation type and symbol index */
} Elf64_Mips_Rel;

typedef struct {
Elf64_Addr r_offset; /* Address */
Elf64_Addr r_offset; /* Address */
_Elf64_Mips_R_Info_union r_info; /* Relocation type and symbol index */
Elf64_Sxword r_addend; /* Addend */
Elf64_Sxword r_addend; /* Addend */
} Elf64_Mips_Rela;

#define ELF64_MIPS_R_SYM(i) ((__extension__(_Elf64_Mips_R_Info_union)(i)).r_info_fields.r_sym)
Expand Down
Loading