summaryrefslogtreecommitdiffstats
path: root/recipes-containers/criu
Commit message (Collapse)AuthorAgeFilesLines
* criu: update to v4.1Bruce Ashfield2025-04-036-66/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Along with the new commits we adjust the following: - refreshed patches - pytoml fixes for crit plugin - debug prefix map for cuda Bumping criu to version v4.1, which comprises the following commits: b6059ff19 criu: Version 4.1 (CRISC-V) bc1415317 criu: fix log_keep_err signal deadlock 0f6470944 namespace: skip cleaning up the uid/gid map in error cases 6826ac58c ci: run tests on a nftables only system 700a8c4b5 ci: do not run tests requiring iptables if it is missing f22330ff0 test: print out logs if tests fail 29ccb5b62 test: others/rpc do not use nftables locking backend 95729ec32 docs: mark make commands with same format as elsewhere 2cd9d5ded docs: update INSTALL.md with a section about building CRIU 867c77303 make: allow setting the default network locking backend 720bf67e0 zdtm/vdso02: unmap vvar_vclock mappings 62a4a5874 vdso: correct data types for ELF hash table sizes b8553d19e test/zdtm: check that PAC keys are C/R-ed 8ae5db37b arm64: C/R PAC keys c5d46d86a restorer: Add a lock around cgroupd communication. 7748b3fe7 pstree: print clone flags in error message d85550157 vdso: Fixes in DT_GNU_HASH handling ed6374b48 lsm: use the user provided lsm label d35808f5e ci: update to latest actions for codeql CI job c298b51a6 scripts/uninstall_module: import signal module 38b9807cd coredump: enable coredump generation on arm da90b33a4 coredump: enable coredump generation on aarch64 030fa4aff criu: fix internal representation of cgroups hierarchical structure b7fa7d304 kerndat: run iptables with -n to not resolve service names 528c94c48 ci: install gawk for Fedora based tests d66bc3499 Makefile: move codespell options to .codespellrc 8a06ca27c vdso: switch from DT_HASH to DT_GNU_HASH (aarch64) 6710cfce1 zdtm/netns_sub_sysctl: add ipv4/ping_group_range sysctl check 4ca74b9af net/sysctl: c/r ipv4/ping_group_range value 9c40781c2 net/sysctl: put common multiplier outside the brackets d226bd4f6 ci: handle results from latest codespell e2dffcbc8 lib: do not set protobuf has_* field too early 82b03429b cuda: disable CUDA plugin for pre-dump 7f0d107fe seize: use separate checkpoint_devices function 02056bf41 cuda: prevent task lockup on timeout error f83931542 net: remember the name of the lock chain (nftables) 54795f174 criu: use libuuid for criu_run_id generation 815ef6884 ci: two check-commits.yml changes 061f4266e test/zdtm: add a new test to check non-periodic timers 09dc2e958 timer: Refine itimer_armed logic and improve timer value handling aad66a4f7 test: fix cmdlinenv00 on aarch64 2b7492480 files-reg: fix buffer overflow on aarch64 6fdac5081 seize: Adjust the position of the log message 97398068b net: redirect nftables stdout and stderr to CRIU's log file 6dce80c53 util: added cleanup_file attribute. 260c08418 zdtm: Check CapAmb is restored correctly after C/R 6f8efad30 cr: Task CapAmb support 94b9b3c5d freeze_processes: implement kludges for cgroup v1 82f4ecda6 freeze_processes: fix logic 99e1fbd8a criu/seize.c: clang-format it a8754905c test: run scm06 in the ns and uns flavors 15c81c126 test/java: increate the ghost file limit dc6cef0b4 cuda: Fix return value from CHECKPOINT_DEVICES hook so that dump's fail properly 8ee2eba47 vdso: handle vvar_vclock vma-s ed560a349 pidfd: add missing include 40b7f04b7 compel/arch/riscv64: properly implement compel_task_size() 399d7bdcb compel: fix gitignore and remove autogenerated code 21e5f4cfd test: add get-state to mocked cuda-checkpoint tool 28c2cb3fd cuda: enable checkpoint support for paused tasks 498bcf280 zdtm: Check many processes with common dead pidfd 7125bfc69 pidfd: one process creates a helper and opens all fds to it b1cac7a8e cuda: fix check for GPU device availability 36a53fe23 ci: test interrupt-only mode with frozen cgroup 4196268ee seize: enable support for frozen containers ff9dbef90 seize: fix error handling for check_freezer_cgroup 622b43392 criu: Initialize util before service worker starts 9052ef93c uffd: Disable image deduplication after fork 2be958d22 include: don't use GCC's __builtin_ffs on riscv64 da6b1807e ci: add workflow for riscv64 bb29067de zdtm: add riscv64 support 6d970ed04 criu: add riscv64 support to parasite and restorer 1d028ef44 images: add riscv64 core image 95359a62a compel: add riscv64 support d8f93e7ba include: add common header files for riscv64 c49eb18f9 pidfd: block SIGCHLD during tmp process creation 5ca440069 zdtm: add inventory test plugins 5335b35f7 images/inventory: add field for enabled plugins b524dab32 pycriu: fix lint errors 88aa7e2c1 make/lint: use 'ruff check <path>' f29e655df zdtm: Check pidfd for thread is valid after C/R 7a64004dc zdtm: Check fd from pidfd_getfd is C/Red correctly 2e6f34845 zdtm: Check dead pidfd is restored correctly 3f30ec0ed zdtm: Check pidfd can kill descendant processes 2899d4600 zdtm: Check pidfd can send signal after C/R 3096df9ea zdtm: Check pidfd fdinfo entry is consistent 1ce408ffa criu: Support C/R of pidfds 3322d1e94 images: Add protobuf definition for pidfd 4f8f6f288 Makefile.config: set CR_PLUGIN_DEFAULT variable f1d465448 amdgpu: remove exec permissions on source files c2b48ff42 criu: Version 4.0 (CRIUDA) a8cbe76d4 util: dump fsfd log messages 096c1f7a4 plugins/amdgpu - Increase maximum parameter length 60ee5ebd9 plugins/amdgpu: Zero ib_info on initialization 691899889 plugin/cuda: disable CUDA plugin if /dev/nvidiactl isn't present e1331a4b6 fault: allow to check dont_use_freeze_cgroup 651df375b criu: Allow disabling freeze cgroups 59f49c627 codespell: fix typos edb6fbb82 scripts/uninstall_module: fix package discovery b1b3c14b1 cuda: unlock on timeout error dbfa45024 ci: run aarch64 tests native via actuated 8beac656f coredump: fail on unsupported architectures early d44fc0de5 test: only run macvlan tests if macvlan devices can be created 01c65732b test: better test for SELinux tools 615ccf98c crit: do not crash on aarch64 doing 'crit x ./ rss' 21ea718f9 plugins/amdgpu: fix printf format specifiers 3e2ed1879 plugins/amdgpu: use C99-standard types d68205e91 ci: enable cross compile testing for amdgpu-plugin 2ee584441 plugins/amdgpu: fix cross-compilation 9a19cf34d scripts/ci: run tests with the mocked cuda-checkpoint tool de31abb97 criu/plugin: don't call plugin device hooks for non-alive tasks dea630591 test/zdtm: allow to run tests with the mocked cuda-checkpoint tool 67fe44e98 support user set remote mmap vma address 551cd9244 timer: fix printf specifiers for __suseconds64_t a045c874c ci: run tests with amdgpu and cuda plugins 2453ed69a zdtm: add option to run tests with criu plugins ad66c27a1 cuda: fix launch cuda-checkpoint fde0b7ac6 cuda: don't leak fds to cuda-checkpoint 4dde52a30 ci/podman: show mounts 9a85fb638 ci/podman: show criu logs in case of error 8437663cc delete redundant include header files c42b58f4f plugin: enable multiple plugins for the same hook 85050be66 seize: fix pause-devices plugin hook 21108b40d test/zdtm: mount a new tmpfs to the zdtm root /dev fcbadfbdb plugins: set executable bit on .so files 5783706d5 docs: update amdgpu-plugin man page 089345f77 Adjust to glibc __rseq_size semantic change b9081ca56 zdtm: make cgroup testcases run non-parallel 4f45572fd util: use close_range when it's supported 42b177da6 scripts/build: drop centos 7 targets 181583819 vdso: proxify the __vdso_clock_gettime64 function ac22aaf57 apparmor: get_suspend_policy must return NULL in error cases 71999d888 cgroupd: unblock SIGTERM to make stop_cgroupd actually work daed6c353 irmap: duplicate string in irmap_scan_path_add b169e3b63 plugins/cuda: fix crosscompilation ca971b7f8 compel: fix build on Amazon Linux 2 due to missing PTRACE_ARCH_PRCTL bf417dd05 criu/plugin: Add NVIDIA CUDA plugin 5f486d5ae criu/plugin: Introduce new plugin hooks PAUSE_DEVICES and CHECKPOINT_DEVICES to be used during pstree collection 1012e542e criu: Restore rseq_cs state slightly earlier in the restore sequence and run the plugin finalizer later in the dump sequence 7ac453706 readme: update link to FAQ page 4f15fe8c5 make: improve check for externally managed Python fdf546dbd ci: upgrade to Fedora 40 Vagrant images (38 is EOL) f17164926 test/dump-crash: check code path when dump crashes a252a240c zdtm: Distinguish between fail and crash of dump 6feb57a84 ci: remove CentOS Stream 8 test (EOL) 1da29f27f zdtm: add support for LD_PRELOAD tests e7276cf63 pagemap-cache: handle short reads cc88b1e1f net: Fix TOCTOU race condition in unix_conf_op 457bc6a8f criu: use proper format-specified to accommodate time_t 64-bit change 95f66d13d criu: move sigact dump/restore code into sigact.c 9c8a6927a ci: update check for SELinux b3c3422cd test/make: remove unused target 30aa8dbe4 mount: fix unbounded write 708f872a6 sk-tcp: Add test cases for TCP_CORK and TCP_NODELAY socket options 9ba9aff77 sk-tcp: Move TCP socket options from SkOptsEntry to TcpOptsEntry 1cb75c0b1 sk-tcp: Move TCP socket options from TcpStreamEntry to TcpOptsEntry 13854a988 criu: fix a fatal failure if nft doesn't work df178c7e5 sk-tcp: cleanup dump_tcp_conn_state error handling 4607b5356 mem: optimize debug logging of enqueued pages f4290868b ci/vdso01: fix typo e68a06cfd ci: update actions/checkout to v4 5aaf45021 ci: update base OS to ubuntu 22.04 1c2a3d7fa check: verify ino and dev of overlayfs files in /proc/pid/maps e07ffa04b Makefile.config: fix/improve feature warnings. af4058871 timer: fix wrapping allignment in function declaration 0fc83a79b ci: silence CircleCI warning about deprecated image 52623cca1 criu: move timers dump/restore code into separate file 231ba0cd2 zdtm/sched_policy00: use reset-on-fork flag 75fed59ef Add support for reset-on-fork scheduling flag 8f0e200e6 mem: fix some VMAs being incorrectly mapped wtih PROT_WRITE a2b018a18 ci: try to fix broken docker test a48aa33ea restorer: shstk: implement shadow stack restore 7dd583002 restore: add infrastructure to enable shadow stack f47899c9e criu: kerndat: add kdat_has_shstk() 2ebd1a4f0 criu: shstk: prepare shadow stack parameters for restorer blob 4b6dda7ec criu: shstk: premap and prepopulate shadow stack VMAs 17eda3ce5 criu: shstk: add VMA_AREA_SHSTK flag 0aba3dcfa compel: shstk: prepare shadow stack signal frame 63a45e1c8 compel: infect: prepare parasite_service() for addition of CET support 6e491a19a compel: shstk: save CET state when CPU supports it 17f4dd095 compel: always pass user_fpregs_struct_t to compel_get_task_regs() 0b8c51eaa compiler: add ALIGN_DOWN macro f590c2b63 zdtm/static: check that cgroup layout of threads is preserved a0a6ec3dc cgroup: Add support for restoring a thread in a correct v1 cgroup 835afb1b8 criu-ns: fix lint error e0b74f558 make: replace flake8 with ruff 7fd4a15e6 pb2dict: fix flake8 error e0f91e66e kerndat: check support for PAGE_IS_SOFT_DIRTY a808f09be amdgpu_plugin: fix lint errors bd17bd43e sk-inet: fix codding style in restore_ip_opts 895a16c13 zdtm: Added tests for IP_TTL restore 71102e7f7 sk-inet: Added IP_TTL socket option 0d5923c95 amdgpu_plugin: Refactor code used to implement Checkpoint 733ef9631 amdgpu_plugin: Refactor code in preparation to support C&R for DRM devices b689a6710 plugin/amdgpu: Also don't print 'plugin failed' in criu 59599dacd plugin/amdgpu: Don't print error for "No such process" during resume 92e8f9293 net: return bool with iptable_has_criu_jump_target a62f82730 criu-log: remove unused declaration d2511707f zdtm: socket-tcp-nft-nfconntrack: add a hook to the chain in nft case afc0efcf7 pagemap-cache: add an ability to run tests without PAGEMAP_SCAN cb64d73ad page-cache: use the PAGEMAP_SCAN ioctl when it is available 20628bc8a kerndat: check the PAGEMAP_SCAN ioctl 842289c7e net: add error messages for restore of nftables d94251df7 test/nfconntrack: use nft or iptables-legacy 0ab2f9e97 net: fix network unlock with iptables-nft d9c427d70 irmap: hardcode some more interesting paths b419f3dfd make: fix compilation on alpine 7b689b7a4 gitignore: remove historical left-over files 2d1f4ec71 ci: disable non-root in user namespace test in container fe8f5130c ci: fix centos-stream 9 ci errors 6679d60ff ci: do not use 'tail' for skip-file-rwx-check test f86f1b849 tty: skip ioctl(TIOCSLCKTRMIOS) if possible 8a51639e3 Makefile: Use common warnings settings for loongarch64 37d62fa47 docker-test: downgrade docker to v24.0.7 1004625fa docker-test: fix condition for max tries 088390ea8 ci: switch to permissive selinux mode during test 900909d95 test: check for btrfs in the current directory fc94b2d15 ci: fix rawhide netlink error 9f9737c80 comple: correct the syscall number of bind on ARM64 f8b14286b criu: Version 3.19 (Bronze Peacock) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* metadata: add whitespace around assignmentsMartin Jansa2025-04-031-2/+2
| | | | | | | | | | With: https://lists.openembedded.org/g/bitbake-devel/message/17508 there are many WARNINGs from this layer will cover src_uri.inc files in next commit. Signed-off-by: Martin Jansa <martin.jansa@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: fix buildpaths QA issue for armChen Qi2024-11-121-1/+1
| | | | | | | | | The settings of CFLAGS:arm overrides the previous CFLAGS settings, causing buildpaths QA error for arm. Use CFLAGS:append:arm instead to fix this issue. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: patch cleanupsBruce Ashfield2024-03-154-68/+78
| | | | | | Adding Upstream-Status and reformatting some of the long logs. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: pycriu RDEPENDS on python3-fcntlTim Orling2024-03-151-1/+1
| | | | Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: pycriu RDEPENDS on python3-ctypesTim Orling2024-03-151-1/+1
| | | | Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: pycriu RDEPENDS on python3-protobufTim Orling2024-03-151-1/+1
| | | | Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: cleanup; export USRBINPATH PEP517_INSTALL_PYTHONTim Orling2024-03-151-6/+2
| | | | Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: fix pycriu build of wheelTim Orling2024-03-153-9/+53
| | | | | | | | | | | | | | | | Inherit python_setuptools_build_meta instead of setuptools3, as this is the build-backend declared in the pyproject.toml We seem to need python3-protobuf-native as a DEPENDS, but then the dependency check complains because our version in meta-python is python3-protobuf_4.25.bb Workaround this (for now?) by telling python3 -m build to --skip-dependency-check This allows criu to _build_. Whether it is functional and proper is a different story. Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: build and install wheelsTim Orling2024-03-152-11/+108
| | | | | | | | | | | Mimic what we do with python_pep517.bbclass in do_compile (python3 -m build) and do_install (python3 -m install) to build and install wheels and avoid the heavy handed pip install usage. FIXME: even though lib/pycriu/version.py is properly being dynamically generated, setuptools/config/expand.py is failing to detect the __version__ attr. Signed-off-by: Tim Orling <tim.orling@konsulko.com>
* criu: update to v3.19Bruce Ashfield2024-03-151-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumping criu to version v3.19, which comprises the following commits: f8b14286b criu: Version 3.19 (Bronze Peacock) f104b3d6d Makefile: introduce ARCHCFLAGS for arch specific cflags 0b62f4267 lib: use separate packages for pycriu and crit 97b8b659c zdtm: cgroup_ifpriomap: Improve skip check's robustness. e076c11e2 ci: fix codespell errors 41938f14b zdtm/static: test the offset migration of ELF files 29026496d zdtm/lib: add missing signal.h header a77185dae files-reg: don't change the file pos in get_build_id 5d4179ddb criu/proc_parse: refactor the eventpoll parser cfaacfb58 zdtm/thread_different_uid_gid: remove the redundant check 36a84751e zdtm/cow00: fix typo 48d6a59a2 arch/x86: remove the redundant check 45670b655 apparmor: remove the redundant check 5e8d7dc94 tun: don't parse buffers that have not been filled with data 4c9d23d33 util: allow to run criu under strace c9fdd355f pie: Mark __export_*() functions as externally_visible 5d6c8bc58 clang-format: disable column limit constraint 81a30c320 zdtm/memfd04: check execveat on memfd that has memory mappings e86e8dac0 memfd: don't reopen file descriptors for memory mappings 28e854d66 amdgpu: fix clang warnings ba168ab78 ci: enable build with amdgpu plugin aa38a5989 amdgpu: print an error if the dup syscall fails 940a05c0b amdgpu: don't leak fd on an error path in open_img_file a68975c06 plugins: the UPDATE_VMA_MAP callback returns fd with the full control 66f39adf1 criu: change the comment about magic numbers 9b4e8292c vma: Add !VVAR condition to vma_entry_can_be_lazy 28adebefb Return page size as unsigned long 00f8a56b6 zdtm: check userns once ba48ceb57 zdtm: socket_udp_shutdown: Make the test fail instead of timing out. f6e820bed zdtm: Treat ESRCH from kill() as success. c29c5a1df zdtm: cgroup04: Improve skip check's robustness. 131e464a0 zdtm: cgroup04: Improve error messages. 785d97a61 zdtm: If ignoring kernel taint, also ignore taint changes. 5e544dc44 ci: stop testing ubuntu overlayfs 7a2910f89 py/cli: add --version option 61d9cf6f9 crit/setup.py: use __version__ from pycriu 8adefc90d lib/pycriu: generate version.py 59fcfa80d compel: Add support for ppc64le scv syscalls d06c9b5cd criu/plugin: Add environment variable to cap size of buffers. 8caf460b9 zdtm: test MEMBARRIER_CMD_GLOBAL_EXPEDITED migration 2ba872782 dump: use MEMBARRIER_CMD_GET_REGISTRATIONS when available 32241b00d vagrant: run tests with fedora 38 862cb5c1c vagrant: update to version 2.3.7 d2a0d1fa6 lint: don't fail workflow on indent fail 08f286ed9 CONTRIBUTING.md: improve coding-style related sections 38bf7f42e CONTRIBUTING.md: don't mention ctags b7a8bb088 zdtm: test execveat(memfd) c9b2633ca memfd: return original memfd fd for execveat() 480565437 kerndat: check_pagemap: close(fd) on error path d5284313f kerndat: Make errors from clone3() check more precise. badf8060c proc_parse: Log smaps entry while dumping VMA. 1800018bc test/other: add test for action-script ea05b06ac proc_parse: remove trivial goto from vma_get_mapfile_user() f7d7dc9c0 compel/infect: include the relevant pid in "no-breakpoints restore" debug message b56a9cef3 kerndat: Make pagemap check more robust against swapped out pages. 86ad52bc2 ci/loongarch64: compile tests before running zdtm.py 0085f992c memfd: don't set fd attributes not needed for vma mapping 8c17535f3 loongarch64: fix syscall_64.tbl 6ea60d6ef github: auto-remove `changes requested` and `awaiting reply` labels 620e8c0a6 Put a cap on the size of single preadv in restore operation. 2547ac8ac zdtm: membarrier: test migration of membarrier() registration e07155e19 dump+restore: Implement membarrier() registration c/r. 5b790aa18 loongarch64: reformat syscall_64.tbl for 8-wide tabs d1096e3b3 lib/py: add VMA_AREA_MEMFD constant d3b955e57 ci/docker: install all required packages 9477354de scripts/apt: don't hide apt output a4b49c46f amdgpu_plugin: remove duplicated log prefix 69200bec7 irmap: scan user-provided paths in order 2a131167b page-xfer: Pull tcp_cork,nodelay(). 6ed50ea49 apparmor: fix incorrect usage of sizeof on char ptr 3628589b5 zdtm/memfd00: test memfd file mode dfa541095 memfd: dump and restore permissions. ac1219f4e sk-inet: Extend 'TCP repair off' failure log. 25d033080 restore: Skip dropping BSET capability if irrelevant. fe4be19de prctl: test prctl(NO_NEW_PRIVS) setting a605cc9f3 prctl: Migrate prctl(NO_NEW_PRIVS) setting. 7df3f6595 restore: Fix capability migration requirements between different kernels. 7ab02639f restore: Skip setgroups() when already correct. 4998b724e restore: Avoid need for CAP_SETPCAP if not changing uids. 99188cfbe tty: Avoid EPERM for no-op chown(). 113957270 memfd: Avoid EPERM for no-op chown(). 96fa42b79 cgroup: Replace restore_perms() with cr_fchperm(). b074f92f9 files-reg: Avoid EPERM in ghost_apply_metadata() for no-op changes. f985d9f44 sk-unix: Avoid restore_file_perms() EPERM error for no-op changes. 21560270d util: Implement fchown() and fchmod() wrappers. e25a243b2 ci: add workflow for loongarch64 788e1e92e zdtm: add loongarch64 support ae0811475 criu: add loongarch64 support to parasite and restorer ec6dc2d5c images: add loongarch64 core image c9df09eea compel: add loongarch64 support b304106e6 include: add common header files for loongarch64 8a24d4872 ci: add workflow to ensure self-contained commits 23313080a kerndat: don't leak a socket file descriptor b2d74fbfd zdtm: replace NR_fstat with NR_statx 8ee35bebb kerndat: bind ipv6-socket only if ipv6 is enabled 6b8107cd1 irmap: Reduce error log severity to warning. 4eb6cc319 mount: Demote fsnotify logs for ignored failures. 3e428a1de log: Remove error logs for ignored or otherwise logged subprocess exits. 804c0ba82 soccr: Log name of socket queue that failed to restore. 4018b7877 soccr: Log offset when failed to restore socket's queued data. 1cb791652 sk-unix: Log both peer names when failing on an external stream unix socket. 5a723937a compel: Log the status word with "Task is still running" errors. 664598dc7 files-reg: Debug "open file on overmounted mount" error. a5fe99d2c cgroup: Propagate error on cgroup mount failure. 056cac474 zdtm: drop python 2 compatibility 002f2372a lib/py: drop python 2 compatibility d388b91de test/others: drop setup_swrk() py2 compatibility ee9983d4a test/criu-ns: drop python 2 compatibility ede018176 make: remove checks for python 2 binary 642fd99bf remove python-future dependency 376f3d180 crit: add requirements.txt for pip>=20.1 f5d06571c crit: drop python 2 support 7825f4ebf coredump: drop python 2 support 05f0535de ci: clean up CentOS 7 related tweaks 362d8fa5c ci: disable CentOS 7 test in Cirrus CI 94c9e4787 readme: refactor asciinema link for video playback 7bda5e656 zdtm: Update netns purpose comment in zdtm_ct. 9ad59f58f util: Make CRIU run_id machine-level unique. eecc53d05 kerndat: Don't fail on NETLINK/nsid support missing. bf8446ae5 kerndat: unexport kerndat_nsid() f2011e1c7 util: Downgrade ignored errors to warnings. 2aa9cb933 rpc: Support setting images_dir by path. 439b52243 rpc: Support gathering external file list after freezing process tree. 82a0db036 docker/podman: test c/r with action-script 28d005638 action-scripts: allow shell scripts in rpc mode 3e0a8ffd6 build: libnfnetlink: Remove nla_get_s32(). f043cb22a build: Guard against libbsd's version of `__aligned`. c5142104a build: Use make-provided AR for building libzdtmtst. 88f8fdda8 build: Fix LIBS vs LDFLAGS order. cbbe6c683 build: Debug system feature tests. 1a1fa439c build: Remove HAS_MEMFD test 2bf10c8d2 restore: remove unused `secbits` field. e5c9bc4d0 kerndat: Make socket feature probing work on IPv6-only host. eea0d6ede pipes: Plug pipe fd leak in "Unable to set a pipe size" error case. ffa1e47fd sockets: Increase the size of sockets hashmap to 16K. 304a309ae test/thp_disable: fix lint c97cc6a6c Allow skipping iptables/nftables invocation. d0ac547b3 zdtm: sock_opts00: Improve error messages. 6bc00fcb8 zdtm: Implement test sharding. 1fb5c410c zdtm: Allow --keep-going for single test. ed88e3241 zdtm: Add timeouts for test commands. 516fade93 zdtm: Allow overriding /tmp. 4b764a9dc Allow passing --log_to_stderr via RPC. 1e5ebec39 Allow passing --display_stats via RPC. 0e88a91ff Allow passing --leave_stopped by RPC. 4455444ee compel/test: Return 0 in case of error in fdspy 4c1409b8f Fill FPU init state if it's not provided by kernel. 93ad8d40d zdtm: thp_disable: Verify MADV_NOHUGEPAGE before migration 01238d270 zdtm: thp_disable: Verify prctl(THP_DISABLE) migration a0c78a790 zdtm: thp_disable: Output a single failure message 2364c963c Log if prctl(SET_THP_DISABLE) doesn't work as expected. 21ce76263 Restore THP_DISABLE prctl. 9943dcde1 Fix mount(cgroup2) for older kernels. 0218b1e8f Fix dumping hugetlb-based memfd on kernels < 4.16. a638043a7 cgroup/restore: split prepare_task_cgroup code into two separate functions 2ac15e3ad action-scripts: Add pre-stream hook c6ac396aa timers: improve and fix posix timer id sequence checks fc08fa907 criu-ns: Update shebang line to python 9cd09f586 criu-ns: Install Python pathlib module in CentOS 7 9c9e8ea3f criu-ns: Add tests for criu-ns script e4b6fb2d1 criu-ns: Add support for older Python version in CI 733f16551 criu-ns: Add --criu-binary argument to run_criu() 36709536e lib/c: add empty_ns interfaces to libcriu b665dce3c docs: rename amdgpu_plugin.txt to criu-amdgpu-plugin.txt cc607f810 criu-ns: make --pidfile option show pid in caller pidns 50e17a1cf scripts: make newer versions of shellcheck happy df7b897a2 ci: fix new codespell errors 727d79650 compel: support XSAVE on newer Intel CPUs fa6af25e7 dump: increase fcntl call failure judgment 1c0f8787b zdtm: Add tests for ip tos restore 04cdbd610 sk-inet: Add IP TOS socket option 4c1a2ac41 criu: Version 3.18 (Silver Sandpiper) b689bcc35 cr-check: remove excess kerndat_has_nspid from check_ns_pid 9b3496043 log: fix timestamp logging when tv_sec>=100 94ac9ee3c proc_parse: fix while condition in parse_pid_status 45e4a6b27 netlink: fix netlink fd flags dump/restore failed 6c728df1d zdtm: modify rseq01 to include a thread f8da250bb cr-dump: properly apply rseq fixup for all threads 78c4e2c0f cr-dump: move rseq functions before dump_task_thread 85e46c44d dump: extend parasite_thread_ctl lifetime to dump_task_thread 9683097f2 zdtm: don't ignore rseq_cs mismatch in rseq01 test 0c5239932 ci: cancel preceding workflows run 5c8cdceec sk-unix: rework unix_resolve_name de39bd2bd sk-unix: simplify error handling in unix_resolve_name_old d93409cf1 sk-unix: remove bogus xfree from unix_resolve_name_old ccc790d54 zdtm/lib: fix cwd path freeing 8e6fa9c3b net: Add net log prefix 7f0f07599 crit: fix compatibility with Python 3.12 bd0f209c2 pstree: improve id intersection detection in prepare_pstree_for_shell_job 66fd45d51 sk-unix: add some missed error printing a0158e692 zdtm: add MNTNS_ZDTM macro to fix initialization 12423abdb mount: allow bindmounts for external fuse mounts 65407616e ci/archlinux: initialize machine ID 34e2b0221 Optimized shell code with <'s (instead of cat + |) 7cae16e97 mount: do collect_mntinfo of external mount namespace with no for_dump 69befdde1 cgroup-v2: make new field cg_set optional 529f29891 cgroup-v2: make new field is_threaded optional 6e681afb6 net: fail restore if nftables isn't supported but image is present 156c8da33 make: disable '-Wdangling-pointer' warning with gcc 12 4930c9802 x86/xsave: Set only used XFEATURE_* in xstate_bv 3f8e3220b CONTRIBUTING.md: document make lint / indent 42c4be2a9 net: use get_legacy_iptables_bin also on restore 298286718 pie/restorer: Fix fd leaking on error path 1d4777e45 test: add long command-line to coredump test edaec5d76 coredump: report missing files without a backtrace 3ca979f9a coredump: handle long command-lines a0cc95c03 lib/py: reduce code duplication 85b5c1e45 ci/podman-test: drop crun installation script 91ff24b47 ci: disable c/r of cgroups with podman e7ab6fe63 restore: don't miss futex abort in restore_task_with_children 676b4579f zdtm/transition/epoll: don't rely on errno in case of zero return 7b8035344 mailmap: update my email 1ae9bac54 dump: improve error printing and readability of task_comm_info 11c71656b ci: add test for crit info 9b919ab74 crit: fix empty string comparison fa4af0430 dump: Show task comm early fd7e97fcf lint: exclude tags file from codespell 50e42c9dd Add documentation for --ghost-fiemap 4a8c02d63 zdtm: Add tests for IP_PKTINFO and IP_FREEBIND sock options bd9b66c8c sk-inet: support IP_PKTINFO and IPV6_RECVPKTINFO options 7d4d4915a sk-inet: save IP_FREEBIND option for SOCK_RAW sockets also f1c8d386b kerndat: check if setsockopt IPV6_FREEBIND is supported 14e883656 proc_parse: Handle btrfs files when map_files is not accessible d7da4a69a ci: Add maps00 test in unprivileged mode in user namespace d2abc9817 shmem: Close fd when VMA is copied from /proc/$pid/mem 144b467a0 shmem: pr_err -> pr_perror 6d7c0d007 compel/mips: fix parasite with GCC 12 7280e96a7 clang-format: use IndentGotoLabels to get rid of goto label indentation fcdb753ed namespaces: cleanup switch_mnt_ns and restore_mnt_ns 63159c14c mount: simplify code around mount_cr_time_mount 43fa4e76d remap: refactor goto jumping to a while loop 757a2b46c remap: Fix typo 3837d31b5 ci/lint: make push action have at least too commits depth cec43025a criu(8): Add info about unprivileged mode limitations 80528dbf7 proc_parse: Don't bail out on is_memfd() VMAs 95e590b51 shmem: Fall back to /proc/$pid/mem if no map_files 951c56917 proc_parse: Set VMA_AREA_REGULAR where needed a92dfb61f string: define wrapers __setproctitle and __setproctitle_init to hide bsd headers 0a7c5fd1b string: use our own __strlcpy and __strlcat to remove bsd headers 8cfda2748 log: remove all uses of %m specifier in pr_* functions 7459d0204 lint: prohibit to use %m specifier in pr_* functions f73ba7726 ci: switch from lgtm to codeql 0bddecead restorer: add logging on prctl PR_SET_MM_MAP failure fb66727a2 zdtm: add mntns_compare check to mount_complex_sharing ba09fad39 zdtm: add mountinfo topology compare to test lib 2837a13ef zdtm: add mountinfo parsing to test lib 543501d5f zdtm/lib: copy xmalloc.h d800ef658 zdtm/lib: copy list.h be61624f4 clang-format: rework make indent to check specific commits a918093ce scripts/ci: use Fedora 37 for vagrant based tests 1bb84f96f tty: fix codding-style around for_each_bit call abfe0b5d2 clang-format: add for_each_bit macros to ForEachMacros c8b4fb9ba autofs: fix a frankenstein auto-created by clang-format aab709b60 log: Write more details in write_pidfile 7c6eb0b85 asm: fix for_each_bit macro bb3f7bef6 crtools: fix help message alignment for --network-lock a302b3694 zdtm: fix 'zdtm.py list' command 21f5be91a cgroups: ignore EOPNOTSUPP on setting memory.kmem.limit_in_byte 9686693aa test/javaTests: update org.testng:testng (Maven) 5c60d35be sockets: tiny style fix 5a19c3432 non-root: Don't dump socket option SO_MARK if 0 2180e03b9 non-root: Rework socket bufs for unprivileged mode e5ccfbb24 Fix typo in comment bdbccc315 zdtm: add two tests for highly sparse ghost file f3fdce81a files-reg.c: fiemap algorithm for ghost file 14b9ec195 ci: fix make indent d0c64b7b3 ci/alpine: remove symlink for /usr/bin/python 095b3e84b ci/lint: install ShellCheck with dnf c48b5290d Fix warnings from -Wstrict-prototypes in clang 16.0.0 fa2c585c2 amdgpu: define __nmk_dir if missing c7211f52d Remove execute bit from source file f5e0f641a cgroup: Remove redundant code that handles zombie tasks c1ae880eb kerndat: Mark memfd_create(MFD_HUGETLB) unavailable when ENOSYS is returned 153614cb1 ci: move cgroup unmounting to run-ci-tests.sh 516ebc4f5 ci: Do not fail if latest epel repository definition is already installed 2ebce9233 ci: Make cpuset move to cgroup-v2 hierarchy 07d538cef zdtm: Check threads are restored into correct threaded controllers 20ea8a064 cgroup-v2: Restore threads in a process into correct threaded controllers 17d1d8810 cgroup-v2: Dump cgroup controllers of every threads in a process ad3936e81 zdtm: Add test to check global properties of cgroup-v2 are preserved d7e874659 zdtm: Add write_value/read_value helpers into zdtm library 167cfd366 cgroup-v2: Checkpoint and restore some global properties 8a336ab22 Switch aarch64 builds to Cirrus CI 840735aa0 ipc_sysctl: Prioritize restoring IPC variables using non usernsd approach 3db8d1a6c cgroup: add a comment to restore_cgroup_prop about path argument requirements 1cba559da non-root: add non-root test case to cirrus runs 6743d608c non-root: extend zdtm.py to be able to run tests as non-root 251939992 Documentation: add details about --unprivileged 47b07d011 non-root: Introduce unprivileged mode to kerndat 6a30c7d1e non-root: enable non-root checkpoint/restore ce01f70d9 non-root: add functions to work with capabilities 4b4bf0421 non-root: add infrastructure to run as non-root 4c7f91aff ci: enable EPEL for CentOS 7 a39d41656 compel: Fix ppc64le parasite stack layout 17ec53913 compel: Add test to check parasite stack setup 556ab0dea compel: Fix infect test to not override failures 461fa7271 compel: Add APIs to facilitate testing debc9c16c seize: do not overwrite exit code from failpath 16f1c147c test/others/crit/test.sh: use bash array 0a872ccf1 scripts/protobuf-gen.sh: fix (not ignore) shellcheck warnings 75b859f23 scripts/ci: rm shellcheck disable annotations aeb6961f3 scripts/ci/run-ci-tests: use bash arrays b1fb9f2f0 Fix, not ignore, shellcheck SC1091 warnings 9d2948b23 scripts/ci/asan.sh: fix, not ignore, shellcheck warning 968eec0d5 scripts/ci/apt-install: fix (not ignore) shellcheck warning 86ac0f05e ci/gha/lint: install a recent shellcheck 2039d7320 files-reg: skip failed mount lookup for shell-job's tty 9e91e62a7 criu-ns: capture controlling tty 40e1aaf56 mount: add definition for FSOPEN_CLOEXEC 7bc24688d ci: Clean up and improve Java testing 0178f2f99 ci: Add Dockerfile for openj9 on Ubuntu 39b3de60b ci: Rename openj9 Dockerfiles to hotspot f78d3d821 gitignore: Ignore top-evel build dir only aeaff6445 test/unix: check C/R of unix listen queues 83c606e02 zdtm: return 1 from pr_err, pr_perror, fail dca55d281 criu: fail migration if data was sent to an in-flight socket dfe9d006a breakpoint: enable breakpoints by default on amd64 and arm64 bb73e1cf5 breakpoint: implement hw breakpoint for arm64 platform b7953c6c7 compel: switch breakpoint functions to non-inline at arm64 platform 719fea2fc compel: clear a breakpoint right after it's been triggered d7477dac0 compel: set TRACESYSGOOD to distinguish breakpoints from syscalls c089159a4 ci/cirrus: centos 8 job nits a202ec271 ci/cirrus: add CentOS Stream 9 2642b657d docker-test: handle race condition error 49319cd57 Add Alexander Mikhalitsyn to maintainers f7972a3f0 cr-restore: rseq: use glibc-specific way to unregister only as fallback cacddf19d cr-restore: rseq: dynamically handle *libc with rseq 1f9bd82a5 cr-check: optimize check for apparmor stacking a1262f55f cr-check: fix check for apparmor stacking f9bc0a750 docker-test: use containerd installed from package 750acec25 Revert "ci: Switch to non overlaysfs tests" e8a6765d1 criu: fix conflicting headers eb4ecb3cf ci: unset XDG_RUNTIME_DIR when invoking podman da4803bea MAINTAINERS: Add Radostin (myself) to maintainers e62d541bd zdtm: add two tests for large ghost sparse file 2d34b5602 unlink_largefile.desc: remove crfail, since criu now can support unlink_largefile test fbded7978 files-reg.c: modify the check of ghost_limit to support large sparse files 01b8d40ce zdtm/mnt_root_ext: don't allow propagation from test mntns to criu mntns d12e2364c zdtm: make root mount private in criu mntns 70a9cd6fb vdso-compat: Increase the reserved buffer for compat vdso b30f3ee3d zdtm: Remove permission part check for skipping vsyscall vma c502d480f x86/compel/fault-inject: fixup mxcsr for PTRACE_SETFPREGS e30d18f43 rseq: fix headers conflict on Mariner GNU/Linux ad58553d9 Add --skip-file-rwx-check opt test 18fba4125 config/files-reg: Add opt to skip file r/w/x check on restore 6cef6e726 zdtm: add tests for SIGTSTP c7858ba42 infect: add SIGTSTP support 49caf85b2 config: fail on --track-mem option if dirty tracking is not available 91e971c4d hugetlb: don't dump anonymous private hugetlb mapping using memfd approach dd0217976 amdgpu: Add gitignore b117b211a zdtm/scm: add scm09 test with closed sender fd 5cd7092fd sk-unix: make add_fake_unix_queuers earier and rework find_queuer_for 28358db13 Fix the check for mnt namespace in criu-ns 295dc85ca github: use git-clang-format instead of make indent ced4ab4b0 zdtm: skip zdtm/static/shm-hugetlb when hugetlb is not supported c830643d8 Revert "ci: skip new hugetlb maps09/maps10 tests for pre-dump" b26e1fdbf mem: Skip pre-dumping on hugetlb mappings 9066f8741 cr-dump: do not report success to logs if post-dump script failed d46f40f4f criu: Version 3.17.1 Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: add cgroup-lite to RDEPENDSXiangyu Chen2024-01-191-1/+1
| | | | | | | criu needs cgroup-lite to init the cgroup configurations during system start. Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* recipes/classes/scripts: Drop SRCPV usageBruce Ashfield2023-08-241-1/+1
| | | | | | | | | bitbake has been enhanced such that SRCPV is no longer needed in PV to handle updating git hashes and task signatures. We can simplify our PV by dropping SRCPV Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* treewide: bulk update patches with status fieldBruce Ashfield2023-01-274-0/+8
| | | | | | | | | | | | | | | While the insane.bbclass upstream-status check hasn't been made default, users of meta-virtualization may have it enabled in their distros .. so the effect is the same. We must have this tracking tag in out patches. This is a bulk update to add the tag and silence the QA message. As packages get updated, the normal/routine process of checking the patches will continue, and the status fields may (or may not) get more useful. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: avoid textrel QA Issue warningXiangyu Chen2022-12-221-0/+3
| | | | | | | | Fix some of arch such as arm/aarch64 would report QA warning as below: WARNING: criu-3.17.1+gitAUTOINC+d46f40f4ff-r0 do_package_qa: QA Issue: criu: ELF binary /usr/sbin/criu has relocations in .text [textrel] Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: 3.17 -> 3.17.1Kai Kang2022-10-044-5/+411
| | | | | | | | | | | Update criu from 3.17 to 3.17.1: * update file path and remove __pycache__ directory in do_install * rebase 0002-criu-Change-libraries-install-directory.patch * backport patches to fix build errors with glibc 2.36. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: fix patch fuzz and remove unused patchChangqing Li2022-06-075-66/+27
| | | | | Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: fix QA issue about shebang too longChen Qi2022-06-071-1/+1
| | | | | | | | | There's a QA issue about criu complaining the shebang of crit script is too long. We should replace it with '#!/usr/bin/env python3'. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: Upgrade to 3.17 to fix restore and fix buildHe Zhe2022-05-121-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - To fix restore Segmentation fault criu restore -d -D checkpoint 8306: Error (criu/cr-restore.c:1480): 8331 killed by signal 11: Segmentation fault Error (criu/cr-restore.c:2447): Restoring FAILED. - Inherit pkgconfig to fix build warning pkg-config not found - Define PLUGINDIR when doing instll to fix build failure mkdir: cannot create directory '/var/lib/criu': Permission denied New commits since 3.16.1: 4f8f295e5 criu: Version 3.17 991f27c84 ci: skip new hugetlb maps09/maps10 tests for pre-dump 0c1f0256f kerndat: handle the case when hugetlb isn't supported 17a19676c zdtm: handle the case when hugetlb isn't supported c1380c077 ci: workaround race between sit module loading and bridge test 550eafc5d ci: print kernel modules list f635b61f4 test: install criu in /usr 2f0f12839 readme: Add badge links to workflows d14dbb8c7 sk-unix: rework bind_on_deleted() return codes 5b872c718 proc_parse: Fix parsing bpf map_extra d40b332ce bpf: update deprecated API f641e0c4b ci: print mountinfo instead of mount cmd output 5c0b4fbcd ci: criu-fault: skip inotify_irmap fault-injection on btrfs 7ac85cab8 scripts/ci: fix ZDTM_OPTS variable passing ead227994 zdtm: temporary disable rseq02 test db9ec1361 zdtm: add rseq02 transition test with NO_RESTART CS flag 1e0bed3d6 rseq: handle rseq/rseq_cs flags properly 13338dee5 Revert "test: disable rseq also on Archlinux" 064e9925a zdtm: add transition/rseq01 test for amd64 2d3354e7b cr-dump: fixup thread IP when inside rseq cs 4c7ece0bb compel: add helpers to get/set instruction pointer 441310c26 zdtm/static/rseq00: fix rseq test when linking with a fresh Glibc f70ddab24 pie/restorer: unregister (g)libc rseq before memory restoration e1799e530 include: add thread_pointer.h from Glibc 267c1fdad ci: add Fedora Rawhide based test on Cirrus 03aff7e82 Revert "ci: disable glibc rseq support" 51e0d3e29 zdtm: add basic static/rseq00 test for rseq C/R c5162cef5 rseq: fail dump if rseq is used but host doesn't support get_rseq_conf feature f81e3062c rseq: initial support bd9ee3255 cr-check: Add ptrace rseq conf dump feature ca54dfcac util: move fork_and_ptrace_attach helper from cr-check 8b3a76b64 kerndat: check for rseq syscall support de03eb435 compel: add rseq syscall into compel std plugin syscall tables 4adec8e8e cgroup: test for --manage-cgroups=ignore 2b6901707 cgroup: fix --manage-cgroups=ignore c71d4a54a cgroup: fix "unified" path 8ddd7f483 ci: add codespell to lint target e7b1c8579 Fix remaining codespell warnings 0194ed392 Fix some codespell warnings 3f1800477 Add .codespellrc f16976c03 test/zdtm.py: rename a var fab46c310 test/exhaustive/unix.py: rename a var 2a60b4974 Rename useable to usable c4bdde213 criu/mount.c: separate \t 51837a65e criu/files.c: some renames bd3a21e0b test/javaTests: rename ser to s 777ad1966 Nit: rename sie to se 716e56f37 Typo: mmaped -> mmapped d9411c948 test/zdtm/static: s/NODEL/NO_DEL/ 58d76cb16 test/zdtm/static/inotify_system.c: s/inot/infd/ 0cb8b9c04 test/zdtm/static: use param not parm 58b120b06 criu/pie/restorer.c: use param not parm 747ec75d9 criu/arch/s390/include/asm/restorer.h: fix comments 8bb05e3bf ci: Switch to non overlaysfs tests 45e048d77 criu: generate unique socket names 75064b742 mount: fix -Wunused-but-set-variable for Clang 15 46e4773c3 style: delete some redundant code 5109fccf8 apparmor: Fix -Wfortify-source for Clang 791651f1b criu-ns: add a helper to hold a pid namespace 805559c1d scripts/ci: mount test cgroups once ab6191ccd zdtm: use unique holder for cgroups 73a783ac1 mount: make error messages differ in different places 165d5a2cd mount-v2: make mount engine fallback messages loglevel debug 8867840c8 zdtm/mount-v2: disable pty-console test c8121ed74 test/jenkins: test for old mount engine 3c0e99ccf ci: make others/mnt_ext_dev also run for old mount engine 642abd133 zdtm/mount-v2: disable mnt_tracefs test f736d88c9 zdtm: add propagation group with mount flags to mount_complex_sharing ef53df471 zdtm: add mount_complex_sharing test 486e1fd85 zdtm: add new mnt_ext_sharing test for mount-v2 3db949d82 ci: run tests for old mount engine 8d6e2d044 zdtm: enable mounts compat mode on restore with --mntns-compat-mode option b35c842d0 mount: add new mounts-v2 engine c29675c9a mount: export global variables for mount-v2 972a59862 mount: export several functions for mount-v2 3229e7f58 mount: export common defines for mount-v2 0723d0cd9 mount: remove double ns_id declaration 1f4a9a531 files-reg: export parent dirs helpers for mount-v2 f032741cd mount: add plain mountpoints f2d1c7fab config/rpc: add new option --mntns-compat-mode for old mount engine f6b52c711 crtools: move check_options after kerndat_init and log_init 6a25420d3 util: add resolve_mountpoint helper cef8366f5 kerndat: check whether the openat2 syscall is supported 387f4652b compel: add open_tree syscall a946b946e kerndat: Check for MOVE_MOUNT_SET_GROUP availability 0ca89b99b files-reg: teach clean_one_remap to work with mount-v2 9a0918497 files-reg: teach create_ghost to work with mount-v2 169f95c39 files-reg: split create_ghost_dentry out of create_ghost 9fb3984a7 mount: add service_mountpoint getter for ->mountpoint 65967a84b mount: use ns_mountpoint instead of mountpoint where possible eedbc6f47 mount: use ns_mountpoint in mnt_depth ae0b218c3 mount: use ns_mountpoint in aufs_parse 7b968ceea mount: use ns_mountpoint in collect_mntinfo f2bf6597c path: simplify mnt_get_sibling_path via get_relative_path abbc70adc mount: use ns_mountpoint for children-overmount check c17695cb1 mount: use ns_mountpoint in root_path_from_parent 010295b8f mount: use ns_mountpoint in validate_children_collision 07eb01593 mount: skip root yard children from mnt_needs_remap check e8de10a4f mount: use ns_mountpoint in mnt_is_overmounted b954e5136 autofs: use ns_mountpoint in autofs_create_dentries 7a67949e5 mount: make general place for shared variables on mount-info on restore 0c41c1187 mount: fix broken remounted_rw check 718247045 mount: move root yard tree merge as early as possible 770cdbfb9 mount: prepare is_overmounted as early as possible 83bbf1b05 mount: add helper mnt_get_external_bind_nodev 0fd0e03a2 mount: do not override master_id to -1 for root binds 4f156f32b mount: put external slavery mounts to separate mnt_ext_slave list ef79912c1 mount: add can_receive_master_from_root helper b52fcb284 mount: replace CRTIME_MNT_ID with HELPER_MNT_ID 4736a7240 mount/restore: leave ns_mountpoint NULL for aux binfmt_misc mount 16085b5e6 mount/restore: create auxiliary binfmt_misc mount in the root yard a379d4d94 zdtm: add mntns_pivot_root_ro test 2a3d2bc28 mount: apply superblock flags to nested ns roots 77f67973f zdtm: add mntns_pivot_root test 2fdb4993a mount: allow nested mount namespaces with different roots cf6fe2d48 mount: add mnt_is_root_bind helper e50abbd3b zdtm: add mnt_ext_collision test a963ceb77 mount: restrict mp-external mount map to init container mntns only 007501f98 zdtm: add new mnt_ext_root test 4f9414934 mount: mount external mount before mounting it's binds d5cb7764e mount: show more info about why we can't mount 685a53eec mount: rework skipping external mounts in dump_one_mountpoint 3b2b80812 mount: split mnt_is_external(_bind) and can_receive_master_from_external c09bd8941 mount: add mnt_bind_pick helper to pick the desired bind 9d1f39f28 unittest: add some tests for get_relative_path helper 97bd9511c util: add get_relative_path helper 261b7a8fd mount: setup mnt_bind list before using it in mnt_is_external 30261a751 mount: skip fstype and source checks for external mounts in mounts_sb_equal 8d5300aa9 mount: mark mounts of external devices external e17c1cc12 mount: do not detect non-fsroot mounts as device-external eda1e5fdb mount: add mntinfo_add_list_before helper for adding to mntinfo list 9649356e3 zdtm: fix mnt_ext_master test to correspond to it's name 5a8fd343f uffd: fix __u64 print format specifier 9e7473516 sk-unix: fix e_str leak in unix_sk_id_add 87d373514 criu/plugin: Add support for criu image streamer 55370b720 criu/plugin: Store BO contents directly to file ecdf740fa criu/plugin: Add whitepaper document 99a2380fc criu/plugin: Dockerfile for amdgpu_plugin 2095de9f0 criu/plugin: Fix for FDs not allowed to mmap bd8333009 criu/plugin: Implement sDMA based buffer access 6d7926622 criu/plugin: Restore libhsakmt shared memory files a218fe0ba criu/plugin: Read and write BO contents in parallel ba9c62df2 criu/plugin: Add unit tests for GPU remapping 4856e0d4d criu/plugin: Add parameters to override mapping 72905c9c9 criu/plugin: Remap GPUs on checkpoint restore 6e99fea2f criu/plugin: Implement system topology parsing c4e3ac7fe criu/plugin: Adding check for kernel IOCTL version 55a5993bc criu/plugin: Support AMD ROCm Checkpoint Restore with KFD 71ff9cc04 criu/plugin: Initialize AMD KFD header 91157315b criu/plugin: Skip plugin vmas during premap 63e127fc8 criu/plugin: Add dedicated flag for plugins e04db0241 criu/files: Add function to return unused FD by pid 653eefea0 criu/plugin: Do not reopen vma fd for plugins 5b0a639a5 files: fix inh leak in inherit_fd_add 060567042 net: fix e_str leak in veth_pair_add 2856d06e3 config: fix ns leak in parse_join_ns a8dd7d290 ci: run criu-config tests 1c54c45fc zdtm: drop redundant config_inotify_irmap test d2073cd4d zdtm: add --criu-config option fc38a01e5 zdtm: use long form cli options 0734fc807 zdtm: sort import lines 0b7965397 zdtm: refactor main 1b4a9df9c sk-unix: fix uint32_t id variable printf format specifier 09fa32a75 tun: fix tun_link leak in dump_tun_link 7e9a9dc34 cr-dump: fix cr_imgset leak in dump_one_task 2747bb2a7 mount: fix e_str leak in ext_mount_add be78b853d proc_smaps: remove useless nonlinear check 97a998567 compel: set mxcsr during error injection to zero ef98a71b1 zdtm: fix missplacement of err=True 6b842635b test: disable rseq also on Archlinux 51099d2bb test: remove test for LOCK_MAND flock 247cdc90d bpfmap: handle new field in fdinfo 56df8aeeb ci: skip MAP_HUGETLB tests in stream test 2dc6d146b zdtm: Add MAP_HUGETLB mappings test for parent-child relationship processes 87a5694b4 zdtm: Add shm hugetlb test d22e472cf zdtm: Add memfd hugetlb test ffa268896 zdtm: Add MAP_HUGETLB memory mapping test a26b692c4 uffd: Skip lazy-mode restore on hugetlb mappings 456e50b59 mem: Skip premapping hugetlb mapping 8941b63a4 proc_parse, files: Add support for hugetlb memory mapping e4fb1dd5f memfd, shmem: Add support for checkpoint/restore memfd and anon shared memory 4d77b19eb ipc: Add support for checkpoint/restore hugetlb System V shared memory f69c36591 kerndat: Collect hugetlb device numbers 9c7bbfa69 check: Add a check for using memfd with hugetlb e8087fcff files: generate unique transport socket names 408a7d82d util: add an unique ID of the current criu run b13b95e52 compel: fix how PTRACE_GET_THREAD_AREA errors are handled b2ba14a15 restorer: Fix sys_mmap's returned value check 7177938e6 criu-ns: use os.waitstatus_to_exitcode() bb1b1681a criu-ns: fix exit code o for criu dump fdf4fda20 pstree: when updating sid for shell job also update matching pgid 89267dbcc ci: install libbsd dependency 48d53b699 Fix formatting in criu documentation 73d6a2c0e test/autofs: fix use-after-free 4d31105c7 ci: set continue-on-error for cross-compile 0568889ee compel: fix parasite with GCC 12 db352ca48 criu: fix configuration file scanner with GCC 12 bf6975c3e compel: fix GCC 12 failure (out of bounds) 6be10a232 zdtm: fix zdtm/static/maps00 case in arm64 6cfad77f0 pagemap: tiny fix on truncating memory image 908e5dd95 lib: added tests for feature check in libcriu b00b61f0e lib: introduce feature check in libcriu 4c4b2159d ci: added .lgtm.yml file 7f4265dc0 ci: update to latest Vagrant and Fedora images 7400d91f8 contributing: remove old badges and logo 29e221bb7 readme: add docker test badge 6f9d62eb3 ci: test criu-image-streamer with all tests 8ec214d3c mount/btrfs: make check_mountpoint_fd fallback to get_sdev_from_fd bbf5f642d proc_parse: add helper to resolve sdev from fd 15c42696c mount: remove mnt_fd argument of __open_mountpoint 1e7c62047 mount: split check_mountpoint_fd from __open_mountpoint 1b912802d zdtm/static/uffd-events: add more log messages ebd03383f zdtm: print tails of all logs if a test has failed f65098746 test: log testname.out.inprogress if a test has failed 8775cf3a5 ci: reenable the lazy-thp test in the lazy-remote mode c59abfa81 page-xfer: stop waiting for a new command after a close command 13b726ebc tls: allow to terminate connections synchronously 73d1d0769 uffd: call disconnect_from_page_server to shutdown a page-server connection 4fdf3db31 tls: add more comments 5a2250b1a tls: use ssize_t for return value 89e8e8e69 tls: fix typo 0da88b6da zdtm: Add SOCK_SEQPACKET variants to unix socket tests 530ad9c89 sk-unix: Add support for SOCK_SEQPACKET unix sockets 3d618d0f4 crtools: check that cpuinfo command has sub-command 233f1f1d0 crtools: use new opts.mode in image_dir_mode 3fa85bcdc crtools/rpc: export current criu mode to opts.mode 1b015df9b crtools: remove excess always true condition be092e25a zdtm: remove mntns-deleted-dst test leftover from git f92c7f1af zdtm: zdtm_ct fix compilation error with strict-prototypes on e62e05c2d zdtm.py: clean up MAKEFLAGS env variable before running make instance af4b26519 tests: added test for single pre-dump support 51a1adbc0 libcriu: add single pre-dump support 119a79885 ci: disable glibc rseq support 9fd000c58 ci: use unstable release for cross-compile 0e04a3c6a libcriu: add setting lsm-mount-context to libcriu af298353d usernsd: UNS_FDOUT should not require an input descriptor efe5d9a12 Add documentation for --timeout option 583e8ca05 ci: enable x86 xsave fault injection tests back 1ba443982 x86/compel/fault-inject: print the initial seed fc1eb01ff x86/compel/fault-inject: bound xsave features set 6186bfa0c test: another try to correctly fix the kernel version d79d73e3a ci: install procps in Alpine 3eba68089 ci: Enable disabled unix socket related tests 94111596f sk-unix: Fix TCP_ESTABLISHED checks in unix sockets 6930d6a32 util: make page-server IPv6 safe d57f27bc9 files-reg: try dump_ghost_remap if link-remap failed with error ENOENT 14075baf7 test: do not use --keep-going for single zdtm tests a52185ffe ci: disable broken tests until fixed 4ab2facb2 make: Explicitly enable FPU on ARMv7 builds d514bacb4 ci: Run cross compile with debian testing 4c1330bb0 ci: Run cross compile on debian stable 718eb06be clang-format: disable wrong struct pointer declaration format 858002483 zdtm: add ro-mount check after c/r to mntns_ghost01 17357d67f files-reg: temporary remount writable the mount we do unlink on bd219b69a ghost/mount: allocate remounted_rw in shmem to get info from other processes cfed6f35e files-reg: fix error handling of rm_parent_dirs 5a0943c90 files-reg: fix error handling in open_path 64b58b514 check: cleanup child processes 156cce78c ci: switch to centos-stream-8 c2fd81903 crtools: ignore SIGPIPE in swrk mode a491706cc ci: Use latest Fedora for lint ci runs again eb0dee408 seize: restore cgroup freezer to right state 781676f10 clang-format/zdtm: fix clang complains about strange elseifs d2b6faf8f tests: improve the deterministic behavior of the test suite 94092ce00 zdtm.py: make tests with --link_remap exclusive 1f9e2c420 ci: disable socket-raw test on centos8 a9d9fb8aa clang-format: make x86_ins_capability_mask human-readable 4ff252656 cr-dump: fail dumping when zombie process with sid 0 26db7adbb clang-format: do automatic comment fixups 206479322 clang-format: do several manual comment fixups bbfd9031a clang-format: enable AlignTrailingComments 718f4cae2 zdtm: make sock_opts02 also check lock change by SO_*BUF* 3a875cc4c zdtm: add test for socket buffer size locks e69be16db sockets: c/r bufer size locks ce5ce285a kerndat: check for set/getsockopt SO_BUF_LOCK availability 2bd709664 sockets: don't call sk_setbufs asyncronously 37a8090d8 tests: improve the image streamer process control dae0704b6 ci: use Fedora 34 for lint CI runs f7bc3bdc9 ci: fix userfaultfd test failures d17eb325c ci: replace deprecated codecov bash uploader c1659c386 net: optimize restore_rule() to not open the CR_FD_RULE image file twice e3a853ab9 criu-ns: make pidns init first do setsid c750e62ca util: use nftw in rmrf helper 485a83c11 tty: fix the null pointer of get_tty_driver 7ba4d3bf1 pie/restorer: remove excess hash printf specifier bffaa7d07 ci: enable coredump tests bf8382a80 make: enable lint for coredump 8aa769455 test/coredump: fix shellcheck errors 0b3cf5c9e coredump: lint fix visually indented line 3a689ed9a coredump: fix comparison to true c1eab7d06 coredump: fix too many blank lines baad88d5e coredump: fix missing whitespace around operator 579066633 coredump: lint fix for block comments 06306c8b1 coredump: drop exec permission 1b368238b coredump: drop unused variable a92a7887a python: replace equality with identity test c71a81a6b coredump: convert indentation to spaces bf8a3c9f6 coredump: sort imports a0b738cb8 coredump: remove unused import 1c866dbb5 Add new files for running criu-coredump via python 2 or 3 3180d35fa Add support for python3 in criu-coredump f24360658 criu(8): Add more detailed description about --tcp-close dump option abf6b15c1 zdtm: Dumping/restoring with --tcp-close on TCP_CLOSE socket 795973055 tcp: Skip restoring TCP state when dumping with --tcp-close 74d1233b5 criu/files: Don't cache fd ids for device files 7b6239b6d criu/plugin: Implement dummy amdgpu plugin hooks 17e2a8c70 criu: Introduce new device file plugin hooks dd46e7919 criu(8): add --external net option be239109a github: update the stale version Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* global: update licence values to SPDX valuesBruce Ashfield2022-02-181-1/+1
| | | | | | | | | | These changes are the result of running the convert-spdx-licenses.py oe-core script. There's no impact to the build, but we will avoid issues when interacting with core QA by the alignment. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: remove :append and += combinationBruce Ashfield2021-11-041-2/+2
| | | | | | | | | bitbake is going to start warning about the combination of += and :append, which is rarely correct. We can use use :append and add the space. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* global: convert github SRC_URIs to use https protocolBruce Ashfield2021-11-021-1/+1
| | | | | | | | | | | github is removing git:// access, and fetches will start experiencing interruptions in service, and eventually will fail completely. bitbake will also begin to warn on github src_uri's that don't use https. So we convert the meta-virt instances to use protocol=https (done using the oe-core contrib conversion script) Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: update to 3.16.1Bruce Ashfield2021-10-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The criu-dev branch is not constant/consistent, so we switch to main for our SRCREV specification. At the same time, we bump to 3.16.1, which comprises the following commits: 4a1731891 criu: Version 3.16.1 62b377957 Makefile: add shellcheck test/others/libcriu/*.sh 59d0dfba9 test/libcriu: print logs on fail 53bf82bcf test/libcriu: add test case for join-ns a8c5efe4c libcriu: define log level constants 5ec2a6aaa libcriu: add join_ns API f2cdb062a Makefile: install criu-ns only with python3 a15a63fce criu-ns: change python shebang to python3 000ea8266 criu: Version 3.16 8567a0952 ci: Update openj9 container images 0b2a7223b mount: fix double-dump file system bug bea9580e3 gitignore: add build directory 4db8ef15c podman-test: use crun from git repository 6a15dbdef lib: install images/rpc.pb-c.h c6b5e7d92 sk-unix: fix prep_unix_sk_cwd root and cwd restoring f0e968ffe binfmt_misc: restore current work directory after restoring mnt ns 776f3cff7 autofs: restore current work directory after restoring mnt ns 45409c35d mount: use swich_mnt_ns/restore_mnt_ns helpers to simplify code f79d15c44 binfmt_misc: restore current work directory after restoring mnt ns eea63587e namespaces: add helpers to switch/restore mnt ns 41f448968 remove tls parameter description if without GnuTLS support d87922099 kerndat: create separate netns for has_nftables_concat check aa772bf28 zdtm: fix network lock tests when run with --norst 9838d34de criu: use unique table names for nftables based locking ca3e3c50b inventory: save network lock method to reuse in restore cd1570b15 zdtm: add ipv6 variants of net_lock_socket_* tests 212db1d9a zdtm: add nftables per-socket locking test 826d3d740 criu: add nftables connection locking/unlocking 6e59b2bd7 zdtm: add iptables per-socket locking test c15327656 zdtm: add nftables network namespace locking test 19cc0bfa6 criu: add nftables netns-wide locking/unlocking f246ca56c criu: rename iptables network locking/unlocking functions e9d24a2ba cr-check: add check for nftables based network locking b85fad797 cr-service: add network_lock option to RPC and libcriu 2e30db5c3 criu: add --network-lock option to allow nftables alternative ef7af1dd1 Run 'make indent' on criu/include/plugin.h cf2b67375 workflows/lint: show changes 03cdbc4c0 criu/config: fix use-after-free in parse_join_ns 546a6dfd0 configs: fix used after free cases 399a53a43 lsm: do not print a warning if no LSM has been detected 960f26f90 files-reg: do not print a warning if a file has no build_id 90e175d52 zdtm/pthread_timers: make sure glibc allocated SIGEV_THREAD's stack dd0e66149 ci: fix 'crit.sh: 3: source: not found' e936a0f8a docker-test: refactor test scenario 78eb0dabf dump: suspend/resume lsm on pre-dump 5dc373385 util: add run_command() 9422383b6 zdtm/apparmor_stacking: don't include optional AppArmor namespace separator dc4c3cd48 apparmor: actually enable suspend for AppArmor ea1c89147 lsm: handle SELinux LSM correctly 06b5d2fa8 tests: add a test for apparmor_stacking 8723e3f99 check: add a feature test for apparmor_stacking 8d992a680 lsm: support checkpoint/restore of stacked apparmor profiles 0db135ac4 util: add rm -rf function 6085c37ba lsm: change when LSM profiles are collected e2a45d786 ci: extend lint run to run 'make indent' 70833bcf2 Run 'make indent' on header files 93dd984ca Run 'make indent' on all C files 1e26f170c criu: introduce clang-format to format source code cc2317ea4 zdtm: fix indentation in Makefile wait_stop target d62e747e9 ci: fix Fedora Rawhide b32c8c6fe posix-timers: fix getoverrun error handling 01fa34f1e ci: use pre-installed Podman 918901439 zdtm/pthread_timers: require ns_pid feature and add non-ns test e1b1547c8 posix-timers: fallback notify thread id encoding for non-pidns and non-nspid 91d7203b8 proc_parse: make nspid field optional a692a0d0a kerndat: Check that "/proc/[pid]/status" file has NS{pid, ..} lines 64f0012e4 zdtm: add a test for SIGEV_THREAD timers 7eab5a7dc timers: save tid from a task pid namespace 61e1334ab proc_parse: get a thread ID in a thread pidns from /proc/pid/status 80079fbb0 criu: dump and restore notify_thread_id of posix timer 6be9345fb criu-ns: add support for 'check' action 868bffba4 criu-ns: add top-level conditional execution f70605ef1 criu-ns: update script name in help message f472e2590 Documentation: Add man page for criu-ns 8891e51cd make: install criu-ns 4a9bcd884 zdtm: prioritize /lib/* dependencies in some tests 00ca2b519 scripts/build: add a docker file for archlinux 694eafa1f protobuf: remove leading underscores from protobuf structs efb9fccd4 cgroup: cgroup_contains has to update the mask for cgroupv2 ac27562f0 ci: add msgque test case to crit-recode 7e86519fe lib: fix crit-recode msgque errors in Jenkins 503488597 ci/openj9: run mrproper before make 7ff785e1d zdtm: make --sbs also stop on each pre-dump/snap iteration 07316d15a restore: cleanup cgroup properly in error path 8f2b8c7be scripts: run lint also on criu-ns bd648cc8d ci: also test tcp stream crit recoding fa9acb9dc lib: fix broken crit-recode test 0ca36c95e ci: combine cross compile container definitions 2ebb1c741 crit: fix error on memfd files parsing f57e45df5 cr-service: move pidfd_store initialization to cr-service f7cd25400 pidfd_store: tidy up interface and hide unneeded details 083f0822e pidfd_store: move pidfd_store to a separate file d55f34ed7 test/ci: sync netns_lock test and its --post-start hook b290df9a6 test/jenkins: fix netns_lock test multiple iterations failure 75feb9635 ci: fix mips64el-cross test f3cb15660 Keep inherit-fd strings alive until task restore d3ce492cc pycrit: fix the broken of cli the `crit show xxx.img` 093fb0c87 Add test for new --lsm-mount-context option 64dd64e50 Enable changing of mount context on restore 5be71273f Remove unnecessary whitespace fc7705a13 zdtm: add network namespace locking test 0cf79a360 test: remove exec test 1a197d4d8 criu: add unit testing for config file parser 45bde968a test: add tests for configuration file parsing f695e6e10 config: make configuration file parser more robust 381d2e88f criu: add cleanup_free attribute 031a8d790 bfd: loop through read()/write() when the action is incomplete 24bc08365 ci: disable some tests on CentOS 7 63ca464bc ci: remove old workarounds 6ef01d3e6 ci: switch CentOS 7 test to Cirrus CI 1fbe87624 ci: disable -x during print_env() b4c7267b0 zdtm: allow ignore taint via environment variable a92833818 scripts/vagrant: Use vagrant 2.2.16 eda3ac2ff scripts/vagrant: Use Fedora 34 87ea13f6b add PKG_CONFIG default in a few more places 6db0f95db crtools: improve error handling on signal setting 2967bed64 build: respect $PKG_CONFIG settings 81a68ad3b docker-test: use latest containerd release 638e53c95 zdtm/tun_ns: add per-test dependencies 9d9ec73dd test: skip time namespaced tests on <= 5 e42083aa8 ci: update docker test matrix ebc74668f cr_options: handle the case where __dest == __src in SET_CHAR_OPTS d0511319e github: Add templates for new issues and pull requests 3c10d3335 criu(8): document --join-ns option 80ee4f8ae kdat: make uffd_open return errno from syscall separately a8525c07d ci: no longer avoid overlayfs 2aa4185a6 test/others: refactor loop process 2b78d95e6 test/others: drop '_exit' function 34410b9e7 test: add a test to check that sigtrap handlers are restored b310fbd31 ksigset: fix a typo in ksigdelset c1b2d194e mem/pidfd: fix poll retry error checking 1c08709cd zdtm: add pidfd store based pid reuse test ea0dc7807 zdtm: add --pidfd-store option in RPC mode e79131e8c criu: add pidfd based pid reuse detection for RPC clients ba882893c cr-check: add ability to check if pidfd_store feature is supported e3c9c3429 cr-service: add pidfd_store_sk option to rpc.proto a9508c986 criu: check if pidfd_getfd syscall is supported 30e8d8cad criu: check if pidfd_open syscall is supported 5d08f975a kerndat: Handle non-root mode when checking uffd 8c303d1a6 test/others/crit: add test for 'x' e39300109 lib/cli.py: Open explore file as a binary c8973d426 test/zdtm: check that a penging SIGTRAP handled properly 61c7cc5a9 parasite: don't block SIGTRAP ed58fb221 test: create new tls certificates 6beeabcd4 zdtm: add sk-unix-dgram-ghost test case 2609e98ee sk-unix: ghost: fix deadlock between peer_fle->stage and fds wake up 655610e09 ci: remove hack for netns-nft zdtm test ddefbbff1 zdtm: add combined nftables/iptables netns-nft-ipt test 4696e61ed zdtm: skip static/netns-nft test if nftables feature isn't supported d8821d9a8 net: skip iptables dump if it has nft backend and nft dump is supported e26949cfe lsm: handle half initialized SELinux setups e2c352e4f tools.mk: Use Python 3 by default 177e4b4ba mips: remove empty gitignore 22142eedf mips: coding style fixes 99a6a17c2 Allow systemcfg proc file to be dumped 731cafa85 logging: pr_perror() -> pr_msg() when execvp fails in action scripts and others 24bdfa72d net: add a #define for increased compatiblity with old distributions 29c34386b restore: fix error message when fork fails f10425e05 criu: end pr_(err|warn|msg|info|debug) with \n 96b7178ba Whitespace at EOL cleanup and check 7ea20e8f5 criu: make sure to use pr_perror to show errno 10c619adb test/zdtm: pr_err / pr_perror fixes dca0eb5b4 test/others/bers: use pr_perror e326889c0 criu/mount.c: fix \n in pr_debug 2166d4748 scripts: fix shellcheck warnings 5f3631916 Makefile: amend lint with pr_perror/fail checks 4cd23083b test/zdtm: don't pass errno to fail() 12a2bd0ed test/zdtm: don't use %m with fail b20694835 test/zdtm: don't use \n with fail() 9cbcaaed3 test/zdtm: don't use errno for pr_perror 865a5e951 test/zdtm: don't use pr_perror where errno is unset d55a65e93 criu: don't use errno for pr_error f3be776cc Drop \n from pr_perror 5e3b07b95 test/zdtm: check that restore can handle precreated veth devices f60f24bfb kerndat: check whether IFLA_NEW_IFINDEX is supported 3ca09f5c9 ci: exclude lazy-thp for remote pages over tls 6c77d7226 Makefile: docker-test don't use interactive tty 27b9ed53e Makefile: update excluded tests for docker-test 5d8ecee0a docker-test: use host cgroup & network ns e3c0fa701 Dockerfile: add missing test dependencies 3074b6d5a Dockerfile: re-build criu after clean f432186e7 Dockerfile: use 'git clean' before build 264b4a8d2 tiny fix on function dump_empty_fs cdb0d4270 net: allow restoring of precreated veth devices e3b694392 scripts/build: drop obsolete ENV1 variable eb5726c44 images: re-license as Expat license (so-called MIT) 9c18c63d2 ci: enable crit tests in CI b78c4e071 test: fix crit test and extend it 13e6e6899 lib: also handle extra pipe data correctly bf9e502c6 lib: print nice error if crit gets wrong input bf80fee4f lib: correctly handle stdin/stdout (Python 3) 9635d6496 criu: Replace faccessat with fstatat when using AT_SYMLINK_NOFOLLOW flag 96c1351d8 criu: Throw error when parent path is provided but invalid 8dc7ce3e7 cr-service: fix CRIU_REQ_TYPE__FEATURE_CHECK RPC request b82f222d6 lib: fix crit-recode fix for Python 2 228e510d2 ci: move CentOS 8 based test to Cirrus 069d92e51 Use a real VM instead of a privileged container 90e03b1a1 pstree: don't change sid/gid-s if current sid/gid is the same 248b77367 lib: correctly handle padding of dump images abe3405b2 lib: fromstring() and tostring() are deprecated c10aae8f6 criu-ns: Merge comparisons with 'in' 5f59a7cc3 criu-ns: Add unsupported msg for restore-sibling 797422986 criu-ns: Handle restore-detached option 6b375ed75 criu-ns: Pass arguments to run_criu() 55a0557db criu-ns: Close namespace fd before raise 0e024bfce criu-ns: Extract set namespace functions a80f08c2e criu-ns: Remove unused _umount 6fd59abc8 criu-ns: Use documentation strings f8556f947 criu-ns: Extract wait for process into a function a08aa4406 criu-ns: Extract mount new /proc into a function a0a02c73e criu-ns: Remove space before/after bracket 8f69a58e0 criu-ns: Convert indentation to spaces f3d071461 ci: run zdtm/transition/pid_reuse with pre-dumps in ci tests 288adfc59 ci: remove ccache setup 2e0107ead ci: run recode tests on more input files 71013465b lib: fix recode errors seen in Jenkins c84dddf2f ci: remove '-Wl,-z,now' workaround ed0f4608f lib/cli.py: Open out file as a binary a433943a7 docker-test: set log file path 046cad8bf docker-test: use containerd v1.5.0-beta.0 25f378083 ci: move Travis CI Docker tests to GitHub Actions 7e6a1a701 pstree: check for pid collision before switching to new sid/gid bb5bad532 test: move vt test to minor 65 on s390x c66ca3aa2 zdtm/fpu03: Add .desc file to omit running on !x86 a87c61fe8 Revert "compel: add -ffreestanding to force gcc not to use builtin memcpy, memset" 1bac3a64b s390: Purge stale comment 39b7252c6 fault-injection: Run fpu corruption tests 21e3c5307 compel: Provide compel_set_task_ext_regs() 3613b6f15 compel: Store extended registers set in the thread context 7af06af10 zdtm/fpu03: Add a test to check fpu C/R in a thread 6c879c3c8 zdtm/fpu00: Simplify ifdeffery e2e8be37f x86/compel/fault-inject: Add a fault-injection for corrupting extended regset 327e14933 namespaces: properly handle errors of snprintf ffb848e6d x86: Use PTRACE_GET_THREAD_AREA instead of sys_get_thread_area() 72dc32850 ci/compat: Check if tests are 32-bit ELFs 10fe08c37 github/stale: separate labels with commas without following spaces ff38944b9 ci: fix Fedora rawhide CI failures 79b3893ec plugin: check for plugin path truncation 878223560 sk-unix: check whether a socket name is NULL before printing it 9582a44ce bug: add __builtin_unreachable in BUG_ON_HANDLER 4eb43dc4d test: fix test compilation on rawhide 6f8e67135 zdtm: Add javaTests output to .gitignore 7b3eb03ab test: Reduce verbosity of mvn output ae143161b javaTests: Add --file-locks option 56d7dbd7c file-lock: Add space in error message 950805bf1 ci: use runc instead of crun for podman tests 719e42fe1 seccomp: initialize seccomp_mode in all cases 2dc65a636 zdtm: add second fifo_upon_unix test 1f2e10771 zdtm: add fifo upon unix socket test case 7c5c81366 sk-unix: rework unix_resolve_name d0308e5ec sk-unix: make criu respect existing files while restoring ghost unix socket fd 49889baa2 files-reg: rework strip_deleted 129cc7fbc files: Don't forget on stripping deleted postfix on linked files 3a4bffc14 ci: move coverage run to github 6be56e92c test/zdtm: check that locks are not dumped if --file-locks isn't set 7b5e7166e dump: dump has to fail if there is locks and --file-locks isn't set 37c09f890 ci: move compat tests to Github Actions 246c37ad3 README.md: remove unused badges; add a few new badges fad9f805c README.md: remove trailing whitespaces 67ce4e46c ci: move asan and image streamer test to github f983a55e6 vdso: fix segmentation fault caused by char pointer array 909ce55d8 Tell podman to use vfs as storage-driver f4c5937ca ci: move Fedora Rawhide based tests away from Travis ed7cefe21 ci: factor out Fedora Rawhide CI setup 95c4a8b40 ci: skip bpf tests on vagrant bb2078f36 ci: upgrade vagrant and Fedora version da2c83d87 ci: fix syntax error in stale.yml fc5ba7de7 zdtm: handle a case when a test vma is merged with another one d74353d77 util: zero the events pointer to avoid its double free 540141c7c namespaces: handle errors of snprintf b83a1dd95 ci: also use clang for compel-host-bin baad84efb ci: run aarch64 compile tests on Drone 95df2524c zdtm: cleanup thread-bomb test error handling and printing 50a96e9fa ci: move vagrant test to cirrus ci f04e8517c workflows/stale: Don't close issue that has labels 'new feature' or 'enhancement' 2721d865f fsnotify: rework redundant code c4f176b1e mount: adjust log level for mnt_is_dir 3fd3a376f mount: adjust log level for get_clean_mnt 8c53627dd dump: at exit do not call timing_stop if stats are not initialized c405a0116 coverity: get_service_fd() is passed to a parameter that cannot be negative 6ff51fd8d restore: warning: Value stored to 'ret' is never read 0bb3d8586 memfd: use PROC_SELF instead of getpid in __open_proc 34024dfdc util: move open_proc_self_fd to service_fd 068672f39 servicefd: don't move service fds in case they remain in the same place 5364ca3da compel/test: Fix warn_unused_result 8aba7ae9f compel: Fix missing loff_t in Alpine cffbeffed ci: Enable compel testing fbb21b404 compel/test: Add main makefile ae686848b compel/test: Resolve missing includes c7544894f dump/ppc64,arm,mips: sanitize the ERESTART_RESTARTBLOCK -> EINTR transition 0cbfba778 github: auto-close stale issues and pull requests fabd5be38 zdtm: look up iptables in /sbin and /usr/sbin 797f41e8a test/zdtm_ct: Run zdtm.py in the host time namespace f736b8750 ci: Alpine's busybox based free does not understand -h d2ed60b60 namespaces: don't set rst on error in switch_ns_by_fd 94fb7c36a ci: move alpine based tests to github actions a28947bb8 ci: give an overview of the current CI environment 70088b66c ci: add Circle CI definition a719a2f49 CONTRIBUTING.md: add component prefix to the subject example adfec67c0 .gitignore: Remove qemu-user-static 82bddc4b2 scripts/Docerfile.centos8: Use 'powertools' repo name 898329b30 x86/asm: fix compile error in bitops.h 371d9c83d others/ns_ext: restore a process out of PID namespaces into the host PID namespace eb9ed1aaf cr-restore: setup external pidns only for root task c5064eda1 namespaces: make root_ns_mask more consistent c629525ca cr-restore: make CLONE_NEWPID flag in clone_flags more consistent 98fbb766d compel/handle-elf: override unexpected precalculated addresses 6a7bb0b9f docs: fix simple typo, clietn -> client b023f0ab5 vim: remove wrong 8-space tabs indent from python files 2c89954cc zdtm: on fail with no error also print the tail of the log 9bdae79d0 uffd: check for exited task when reading uffd_msg 3b2202151 uffd: cleanup read error handling in handle_uffd_event 8ca4d6e5b cr-restore: Properly inspect status in sigchld_process() 00bd72f32 ci: remove special handling for mips 2d68627dc CI: remove centos7 from Travis 5bb4406e9 ci: use graviton2 for arm64 tests on Travis fb21643b2 tls: Add logging within send/recv callbacks b28eb7b2d compel/log: Provide %u specifier parsing c39ed518f compel/log: Stop parsing at unknown format specifier b93fe2b2d vdso: Let zero-terminator in vdso_symbol_length 528ce2598 uffd: handle xrealloc() failure 56a70ff99 uffd: fix 'double free detected in tcache 2' 7db0c7c02 ci: add CentOS 8 based CI run b0676302f ci: switch centos7 to github actions 247523c0c travis: rename centos test to centos7 b6e4dae22 criu-ns: Remove unreachable statement ebea8f560 ci: fix lazy-pages test selection 20a83e77c ci: 'fix' lazy tests 1ecaee67a namespaces: fix 'Declaring variable "path" without initializer' 097c931ed coverity: img_raw_fd() returns a negative number 04d7b7157 sk-unix: ignore coverity chroot() warning cfeb9c10f cr-dump: get_service_fd() is passed to a parameter that cannot be negative ed905a002 util: fix double_close false positive b47cb0539 dump: Potential leak of memory pointed to by 'si' def84b8ef coverity: fix parameter_hidden: declaration hides parameter c98eb0384 restore: Value stored to 'ret' is never read 8e5acdd2d cr-dump: Potential leak of memory pointed to by 'si' cf4fe1fa1 vdso-compat: let coverity know that the function does not return cfcc0b14a coverity: ignore CHECKED_RETURN d0db53297 autofs: Potential leak of memory pointed to by 'token' 9b1921fb7 sk-unix: do not overwrite function parameter 1d403eb18 Use 'is None' instead of '== None' 820525fe8 bfd: remove unused line a02986804 coredump: remove two unused variables 1543527bf lib/py: remove unused variable 7db0bb69e infect: initialize struct to avoid CLANG_WARNING ee048e148 lock: disable clang_analyzer for the LOCK_BUG_ON() macro 70c8c12c6 compel: don't mmap parasite as RWX 6edcef740 cr-restore: Wait child & reap zombies if PID=1 4381043a7 criu-ns: Use PID 1 on restore b2232f7f7 criu-ns: Convert c_char_p strings to bytes object d16033658 criu-ns: Print usage info when no args provided 26371e56f criu-ns: Convert to python3 style print() syntax 72ca9673d python: Replace xrange with range 2598f64fa crns.py: New attempt to have --unshare option 0d691acba CI: distribute CI jobs between CI systems e7cbeddff CI: rename 'travis' to 'ci' Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* global: overrides syntax conversionBruce Ashfield2021-08-021-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OEcore/bitbake are moving to use the clearer ":" as an overrides separator. This is pass one of updating the meta-virt recipes to use that syntax. This has only been minimally build/runtime tested, more changes will be required for missed overrides, or incorrect conversions Note: A recent bitbake is required: commit 75fad23fc06c008a03414a1fc288a8614c6af9ca Author: Richard Purdie <richard.purdie@linuxfoundation.org> Date: Sun Jul 18 12:59:15 2021 +0100 bitbake: data_smart/parse: Allow ':' characters in variable/function names It is becomming increasingly clear we need to find a way to show what is/is not an override in our syntax. We need to do this in a way which is clear to users, readable and in a way we can transition to. The most effective way I've found to this is to use the ":" charater to directly replace "_" where an override is being specified. This includes "append", "prepend" and "remove" which are effectively special override directives. This patch simply adds the character to the parser so bitbake accepts the value but maps it back to "_" internally so there is no behaviour change. This change is simple enough it could potentially be backported to older version of bitbake meaning layers using the new syntax/markup could work with older releases. Even if other no other changes are accepted at this time and we don't backport, it does set us on a path where at some point in future we could require a more explict syntax. I've tested this patch by converting oe-core/meta-yocto to the new syntax for overrides (9000+ changes) and then seeing that builds continue to work with this patch. (Bitbake rev: 0dbbb4547cb2570d2ce607e9a53459df3c0ac284) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: update to 3.14Bruce Ashfield2021-04-163-194/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating to 3.14+. We drop a two patches that are no longer needed, and pickup the following commits: e49ce513c net: allow restoring of precreated veth devices 901ea2b56 scripts/build: drop obsolete ENV1 variable b98bbda8e images: re-license as Expat license (so-called MIT) 38a9cbe7a ci: enable crit tests in CI 7accc4454 test: fix crit test and extend it e65a56a1e lib: also handle extra pipe data correctly 35a4761ab lib: print nice error if crit gets wrong input f9616e917 lib: correctly handle stdin/stdout (Python 3) 840dc0b4d criu: Replace faccessat with fstatat when using AT_SYMLINK_NOFOLLOW flag 9edf53128 criu: Throw error when parent path is provided but invalid 480605824 cr-service: fix CRIU_REQ_TYPE__FEATURE_CHECK RPC request 49b9cff74 lib: fix crit-recode fix for Python 2 ca032081e ci: move CentOS 8 based test to Cirrus 9b0d75279 Use a real VM instead of a privileged container d334ba38d pstree: don't change sid/gid-s if current sid/gid is the same c8beca655 lib: correctly handle padding of dump images 02b0e850d lib: fromstring() and tostring() are deprecated d49ace9d3 criu-ns: Merge comparisons with 'in' 66f5ab439 criu-ns: Add unsupported msg for restore-sibling 719c5b07e criu-ns: Handle restore-detached option 6055d0be7 criu-ns: Pass arguments to run_criu() b31d3ad92 criu-ns: Close namespace fd before raise 44a1d321b criu-ns: Extract set namespace functions ab9418d96 criu-ns: Remove unused _umount b790ce21e criu-ns: Use documentation strings 097834dad criu-ns: Extract wait for process into a function c7d76082c criu-ns: Extract mount new /proc into a function a6659c3a7 criu-ns: Remove space before/after bracket 42df84994 criu-ns: Convert indentation to spaces 628ff18fc ci: run zdtm/transition/pid_reuse with pre-dumps in ci tests b7d2c2a26 ci: remove ccache setup 9f2a69691 ci: run recode tests on more input files 8017b6a8e lib: fix recode errors seen in Jenkins cdfca8694 ci: remove '-Wl,-z,now' workaround ca2d27378 lib/cli.py: Open out file as a binary fddf3a732 docker-test: set log file path 19be9ced9 docker-test: use containerd v1.5.0-beta.0 b51fb87a4 ci: move Travis CI Docker tests to GitHub Actions 77968d43c pstree: check for pid collision before switching to new sid/gid 1c1949ab5 test: move vt test to minor 65 on s390x 447b3cf61 zdtm/fpu03: Add .desc file to omit running on !x86 6569412bb Revert "compel: add -ffreestanding to force gcc not to use builtin memcpy, memset" fc1fefd6e s390: Purge stale comment 24f57c68d fault-injection: Run fpu corruption tests e07e5eee3 compel: Provide compel_set_task_ext_regs() e9b1e0b74 compel: Store extended registers set in the thread context 8394062e4 zdtm/fpu03: Add a test to check fpu C/R in a thread 6e1cd5b6a zdtm/fpu00: Simplify ifdeffery 2fdc09499 x86/compel/fault-inject: Add a fault-injection for corrupting extended regset e4e58a8f3 namespaces: properly handle errors of snprintf 84be3047a x86: Use PTRACE_GET_THREAD_AREA instead of sys_get_thread_area() f8cf0715e ci/compat: Check if tests are 32-bit ELFs e0d4aef35 github/stale: separate labels with commas without following spaces 168668ec7 ci: fix Fedora rawhide CI failures ab395e423 plugin: check for plugin path truncation 3397ac0a7 sk-unix: check whether a socket name is NULL before printing it 950a88c74 bug: add __builtin_unreachable in BUG_ON_HANDLER 42171caba test: fix test compilation on rawhide 6110236b6 zdtm: Add javaTests output to .gitignore 7a8f426f1 test: Reduce verbosity of mvn output 89aa87484 javaTests: Add --file-locks option 2692215a5 file-lock: Add space in error message a277c8493 ci: use runc instead of crun for podman tests 42c211285 seccomp: initialize seccomp_mode in all cases 1b5dbe567 zdtm: add second fifo_upon_unix test 903b903d2 zdtm: add fifo upon unix socket test case 82f203308 sk-unix: rework unix_resolve_name a4c000e30 sk-unix: make criu respect existing files while restoring ghost unix socket fd 8d92d4694 files-reg: rework strip_deleted 9546f3919 files: Don't forget on stripping deleted postfix on linked files 042560a2f ci: move coverage run to github 3fb8cd3a4 test/zdtm: check that locks are not dumped if --file-locks isn't set 7a64074c0 dump: dump has to fail if there is locks and --file-locks isn't set 81c3c9748 ci: move compat tests to Github Actions 4c3f3245e README.md: remove unused badges; add a few new badges 10cb8521d README.md: remove trailing whitespaces 5792612d3 ci: move asan and image streamer test to github 2cb1156e6 vdso: fix segmentation fault caused by char pointer array b62707bc1 Tell podman to use vfs as storage-driver 41efd592e ci: move Fedora Rawhide based tests away from Travis 442dc6515 ci: factor out Fedora Rawhide CI setup 8c89fbde3 ci: skip bpf tests on vagrant 9ec1f1a7b ci: upgrade vagrant and Fedora version d4b0f0f94 ci: fix syntax error in stale.yml 098d4cc72 zdtm: handle a case when a test vma is merged with another one 7d63ceaec util: zero the events pointer to avoid its double free 90f043dea namespaces: handle errors of snprintf 76f9ccc70 ci: also use clang for compel-host-bin 7766f12e9 ci: run aarch64 compile tests on Drone af1103ff2 zdtm: cleanup thread-bomb test error handling and printing 9807413c3 ci: move vagrant test to cirrus ci 11b3a1a75 workflows/stale: Don't close issue that has labels 'new feature' or 'enhancement' 2cf09cc4e fsnotify: rework redundant code d3b1d6e0c mount: adjust log level for mnt_is_dir 504c032af mount: adjust log level for get_clean_mnt 41b486790 dump: at exit do not call timing_stop if stats are not initialized 3dc47b22d coverity: get_service_fd() is passed to a parameter that cannot be negative 8112e7657 restore: warning: Value stored to 'ret' is never read 56853fb53 memfd: use PROC_SELF instead of getpid in __open_proc 3f047f13a util: move open_proc_self_fd to service_fd 4178beaa5 servicefd: don't move service fds in case they remain in the same place 0e7321c2f compel/test: Fix warn_unused_result cf0337c80 compel: Fix missing loff_t in Alpine 1b3274a90 ci: Enable compel testing 988b40230 compel/test: Add main makefile 61db62a87 compel/test: Resolve missing includes f5a408cdd dump/ppc64,arm,mips: sanitize the ERESTART_RESTARTBLOCK -> EINTR transition b4be97de9 github: auto-close stale issues and pull requests 43023fe75 zdtm: look up iptables in /sbin and /usr/sbin cb9c85fb6 test/zdtm_ct: Run zdtm.py in the host time namespace 5351b6efe ci: Alpine's busybox based free does not understand -h 72fc2e8e4 namespaces: don't set rst on error in switch_ns_by_fd cf8c88df6 ci: move alpine based tests to github actions 944bd0b6e ci: give an overview of the current CI environment 52bbac5a9 ci: add Circle CI definition ac9843b08 CONTRIBUTING.md: add component prefix to the subject example e403226ce .gitignore: Remove qemu-user-static bde4e8565 scripts/Docerfile.centos8: Use 'powertools' repo name e0da8b895 x86/asm: fix compile error in bitops.h a9d08735f others/ns_ext: restore a process out of PID namespaces into the host PID namespace 660e12843 cr-restore: setup external pidns only for root task c72901dcb namespaces: make root_ns_mask more consistent 5db1657ab cr-restore: make CLONE_NEWPID flag in clone_flags more consistent b27c7e9c8 compel/handle-elf: override unexpected precalculated addresses 55a8b099d docs: fix simple typo, clietn -> client 9cc1f051e vim: remove wrong 8-space tabs indent from python files 82f6518db zdtm: on fail with no error also print the tail of the log bc94f35a0 uffd: check for exited task when reading uffd_msg 87d007bcd uffd: cleanup read error handling in handle_uffd_event a667d5778 cr-restore: Properly inspect status in sigchld_process() a813f8676 ci: remove special handling for mips 430e464c7 CI: remove centos7 from Travis 3cf87ed48 ci: use graviton2 for arm64 tests on Travis 42a86db74 tls: Add logging within send/recv callbacks 0ecec9966 compel/log: Provide %u specifier parsing 56d3eab1c compel/log: Stop parsing at unknown format specifier 403741feb vdso: Let zero-terminator in vdso_symbol_length ab288c35c uffd: handle xrealloc() failure 7e1f22b78 uffd: fix 'double free detected in tcache 2' ffac3d649 ci: add CentOS 8 based CI run 407404297 ci: switch centos7 to github actions 369e17b29 travis: rename centos test to centos7 68585dec9 criu-ns: Remove unreachable statement 953e87c7b ci: fix lazy-pages test selection 8722bf012 ci: 'fix' lazy tests 50878f4f7 CI: distribute CI jobs between CI systems 0e47308d0 CI: rename 'travis' to 'ci' 2d290eeb0 namespaces: fix 'Declaring variable "path" without initializer' cec432500 coverity: img_raw_fd() returns a negative number 84df563c5 sk-unix: ignore coverity chroot() warning ef4ec3261 cr-dump: get_service_fd() is passed to a parameter that cannot be negative d95c2683b util: fix double_close false positive 5527329ba dump: Potential leak of memory pointed to by 'si' fc20d280c coverity: fix parameter_hidden: declaration hides parameter 73ed071e0 restore: Value stored to 'ret' is never read 53501e5e8 cr-dump: Potential leak of memory pointed to by 'si' 36f9700b1 vdso-compat: let coverity know that the function does not return 62ab67ed5 coverity: ignore CHECKED_RETURN 42e3e2e84 autofs: Potential leak of memory pointed to by 'token' 84ffb965c sk-unix: do not overwrite function parameter eb741528f Use 'is None' instead of '== None' 407d3fe0f bfd: remove unused line bbca79ab6 coredump: remove two unused variables 6a9bff88b lib/py: remove unused variable e13a7ecd2 infect: initialize struct to avoid CLANG_WARNING b80dd7e7c lock: disable clang_analyzer for the LOCK_BUG_ON() macro 2ec05a056 compel: don't mmap parasite as RWX 53dd29e93 cr-restore: Wait child & reap zombies if PID=1 265569a40 criu-ns: Use PID 1 on restore e18017285 flog: Missing varargs init or cleanup (VARARGS) 532944695 Add flog to CRIU bfb051a51 criu-ns: Convert c_char_p strings to bytes object 3f7189729 criu-ns: Print usage info when no args provided 226efaac9 criu-ns: Convert to python3 style print() syntax ca5c93d38 python: Replace xrange with range 1609a345a crns.py: New attempt to have --unshare option f68da4a86 criu: Version 3.15 5a655e890 travis: install gzip and redhat-rpm-config for Fedora Rawhide based tests 1062cc4fe x86/asm: update test_bit() and test_and_set_bit() c7726b7f3 zdtm: add alternative socket filter 5c4cc46fd sockets: fix incorrect malloc size 749eb33a9 compel: Calculate sh_addr if not provided by linker 867dd27c9 util: Improper use of negative value (NEGATIVE_RETURNS) 16aea4a7c mount: Explicit null dereferenced (FORWARD_NULL) 5f0674075 util: Improper use of negative value (NEGATIVE_RETURNS) ca7a832b5 page-xfer: Argument cannot be negative (NEGATIVE_RETURNS) f0e48be48 sk-netlink: Argument cannot be negative (NEGATIVE_RETURNS) 4e4227871 kerndat: Argument cannot be negative (NEGATIVE_RETURNS) 50dbcadf0 net: Argument cannot be negative (NEGATIVE_RETURNS) 4a77e0456 net: Argument cannot be negative (NEGATIVE_RETURNS) 5631e9dca action-scripts: Improper use of negative value (NEGATIVE_RETURNS) 0f4b053c1 cr-dump: Resource leak (RESOURCE_LEAK) 7e4f50e74 irmap: Double close (USE_AFTER_FREE) 2ed16451b proc_parse: Copy into fixed size buffer (STRING_OVERFLOW) 864564823 autofs: Resource leak (RESOURCE_LEAK) 90369437f cgroup-props: Resource leak (RESOURCE_LEAK) 2a4c4bf2f filesystem: Double close (USE_AFTER_FREE) 38246bf55 uffd: Resource leak (RESOURCE_LEAK) 03d66390b mount: Resource leak (RESOURCE_LEAK) c1ab1a19e pagemap: Logically dead code (DEADCODE) 4e7e26b70 files-reg: Resource leak (RESOURCE_LEAK) da5a4d6e5 cgroup: Resource leak (RESOURCE_LEAK) af569ac01 pagemap: Argument cannot be negative (NEGATIVE_RETURNS) 19365c1e6 cgroup: Resource leak (RESOURCE_LEAK) b89303433 img-streamer: Double close (USE_AFTER_FREE) 59010ad6d net: Argument cannot be negative (NEGATIVE_RETURNS) 82cd3bb0d zdtm: update and refactor tests for BPF array and hash maps 8301c7e01 criu: adding support for BPF map name, ifindex and freeze 02f7e3434 images: adding support for BPF map file name and ifindex 97ab725db zdtm: adding BPF helper functions as a new library f7bd70573 servicefd: close temporary fd on error path 3ef2c1ff8 criu: check matching the tcp-close option on restore only 9acca8df9 tcp: add a separate test for listen sockets 9ba9d6706 tcp: dump shutdown state for unconnected sockets fd7b6e73d CI: run cross compile on all branches 32b162831 CI: add Travis test script to 'lint' 025ef090d CI: switch to loop based apt-get 0def9bc1f tests: only run 'make lint' once in CI 84215e035 scripts: run shellcheck on the scripts folder e2101abf2 crtools: Fix --help output line width 4a80dfab8 doc: update documentations for the tcp-close option e42f5e032 tcp: allow to specify --tcp-close on dump 4f7c48041 test/zdtm: write in a tcp socket has to fail if tcp-close was set 5b5f4b717 socket/tcp: shutdown tcp sockets if the tcp-close option is set 3957d9533 Switch to python 3 variants of dependencies on debian-based builds a6214c360 mips64: implement vdso_redirect_calls() 80672c9f3 zdtm: Add test for SO_LINDER 5bb5890cb socket: c/r support for SO_LINGER 0aeddba7c socket: c/r support for SO_OOBINLINE 5c11b0e44 zdtm: check that unbindable mount flag does not affect restore b554eacb5 mount: replace mountpoint to mnt_id in error messages f3b18865f mount: delay setting unbindable flag where possible dbf798811 sk-netlink: Handle case of in-use netlink peer ids c0f365310 images: kindly ask not to use fields with id 18 in unix_sk_entry ed74c9e05 zdtm: add new epoll01 test 0dda60f51 eventpoll: fix toff off calculation dd082fad1 eventpoll: resort toff back by idx 596276a9a travis: use Fedora rawhide images from Fedora df0c793d5 travis: restore lazy-pages tests for uns flavor 1391f84d8 criu: don't use the deprecated security_context_t (SELinux) 20d87bbfa scripts: adding libbpf for Travis tests 372782d8a zdtm: adding tests for BPF maps 14b1cc26d criu: restoring BPF map data 4d073a75e criu: restoring BPF maps (without data) 4b8186cb6 crit: add BPF map data decoding b924394cc criu: dumping BPF map data 5ff0e7058 criu: dumping meta-data about BPF map files b85709797 criu: parse information about BPF maps from procfs aa59dfc6d Set Makefile config variables for libbpf 95b7d06cb criu: define constants for c/r of BPF maps c26cd1395 images: protobuf definitions for BPF map meta-data and data d6735616a travis: add a focal based test run ca360ce30 travis: switch travis to Python 3 8063fbb47 contrib: Add python-future to Debian packages 52eff52e6 github: disable cross-compule for mips on master branch 5b751fbaf criu: the type of a socket inode has to be "unsigned int" a6b00b1a7 actions: create file for daily rebuild 18f42b302 travis: loop over apt-get to recover from errors 3d67e8a0d Makefiles: do not re-generate magic.py every time 9ce4ed093 python: Handle byte strings when converting protobuf to dict 320c88e92 CONTRIBUTING.md: clarify placement of Fixes: tags 83be11f1f lib/c: extend receive to handle incoming FDs 20a24c11e log: Ask developers not to use print_on_level directly ebc0d205a log: Hide vprint_on_level in log.c 478072474 util: Use pr_info in vma printing 1955d4907 ipc: Use pr_info() instead of print_on_level(PR_INFO...) 99fc76d8b proc_parse: Do not feed loglevel into restore_loginuid 8564bc49e check: Use pr_foo macros 7646deed6 vagrant: Update to Fedora 32 cee36af38 criu/files-reg.c: build-id size bug fix aeeaa30a5 criu/files-reg.c: build-id from multiple headers fix 9c0b904a0 compel/infect: Don't adjust stack/args alignment 70ecbbcc8 compel: allocate the GOT table to avoid memory corruption fee517b3d compel: remove x86/prologue.S 8d8dd5a79 compel: x86 parasite_service entry point simplification b8c1d9d93 compel: rewrite parasite cmd and args manipulation from assembly to C 391da7464 compel: stop rounding up the parasite blob size and args region to PAGE_SIZE d99fc1e55 compel: remove "addr_" from offset variable names a531f9a8b compel: pass the parasite_blob_desc to compel_relocs_apply() 8ac0fa6aa compel: add error message for COMMON symbols f92948cca zdtm: make cgroup_yard to be aware of cgroup2 f96cd8c74 tests: skip cgroup04 and cgroup_ifpriomap on pure cgroup2 systems 5f160811a zdtm.py: add the cgroup2 freezer support 98e9165f0 cgroup: Add the initial support for cgroup2 a93df9eb9 pidns: fixup bb555b372 criu/config.c: added cli option for build-id 9191f8728 criu/files-reg.c: add build-id validation functionality 7b18c13c1 images/regfile.proto: adds additional fields to RegFileEntry 8354b526c restore: skip unnecessary setgroups calls 0d8d7f232 tests: criu-image-streamer change dev branch to master branch 62d70bd48 test/zdtm/autofs: use sigaction instead of the deprecated siginterrupt 539183fad Add error logging to config + crtools init 9a4b933f2 Add error logging to kerndat init 3490d997b test: test external namespace support f3ebdeebe pidns: add external pidns to man-page 9dd1ab00e pidns: support external PID namespaces f1e6b1036 pidns: write and read pidns information 4e7ec3c88 pidns: add pidns image file definition 99c848783 zdtm: add zombie_leader test f0438f47f cgroup: make prepare_task_cgroup lookup current cgset in ancestors d38046b00 mount: restore_task_mnt_ns - Lookup for mount namespace conditionally 41b535d31 test: skip vdso test on non-vdso systems ce22e0f37 uffd: uffd_open prints info, caller prints error 6815aa958 CONTRIBUTING.md: add pull request guidelines 35f8c056a CONTRIBUTING.md: add sections about patch description and splitting 2e5805878 CONTRIBUTING.md: minor formatting fixes d0fcb01d4 CONTRIBUTING.md: import "How to submit patches" from criu.org 808684c99 Add CONTRIBUTING.md 6ee4b7238 arch/x86: Fix calculation of xstate_size 1d9438aef criu swrk: fix usage, allow common options cbf099400 Travis: use Vagrant to run VMs d72428b7c Also report clone3() errors correctly 047ecd3a1 test/others/libcriu: test version library calls 55f71b866 lib/c: add criu_get_version() e57e74a18 criu: optimize find_unix_sk_by_ino() 62c03530c swrk: send notification instead of using status fd faf6dbf33 close_service_fd: rename to status_ready e34f5dd3a clang: Branch condition evaluates to a garbage value b4c51ea49 coverity: fix FORWARD_NULL in criu/proc_parse.c: 1481 64347398c coverity: fix RESOURCE_LEAK criu/timens.c: 67 f33410252 libcriu: Add space between 'if' and parenthesis 4ac9a3c90 libcriu: Use spaces around '=' ae4fd07ca libcriu: Add orphan pts master f6d1b498d cr-service: spell out an error 00a44031e cr-service: fix wording in debug messages 00b8257d9 tests: move cross compilation to github actions 8452be93c travis: use bionic almost everywhere 5bd776da3 Remove dupe of "deprecated stuff on" msg 8364b0940 soccr/test: Fix error logging in libsoccr tcp-test 277b0b69f mips: fix fail when run zdtm test pthread01.c be1394122 mips: impliment arch_shmat() d38851c9b test/jenkins: use bash to run shell scripts 40169b950 style: fix typos b5c34c74c mips:support docker-cross compile afe90627e mips:criu: Enable mips in criu d325b7b77 mips:criu/arch/mips: Add mips parts to criu 158e8f8fe mips:proto: Add mips to protocol buffer files e7d13b368 mips:compel: Enable mips in compel/ ba0d6dbac mips:compel/arch/mips: Add architecture support to compel tool and libraries 8be1d457d net: fix coverity RESOURCE_LEAK eb732bcf0 util: Remove deprecated print_data() routine 8c538ca10 page-read: Warn about async read w/o completion cb 27ab533cb tests: run tests with criu-image-streamer with --stream 7d79a58f4 img-streamer: introduction of criu-image-streamer 51c3f8a90 pipes: loop over splice() when dumping a pipe's data 0708cbd88 remote: Use tmp file buffer when restore ip dump 01cab14df util: Fix addr casting for IPv4/IPv6 in autobind be2ded15e test: fix flake8 errors d23d1fc0f travis: fix alpine builds f2edc1e19 Update certificates for failing tls based tests 95ead1487 criu: Version π 5c5e7695a get_clean_mount: demote an error to a warning c83a0aae2 proc: parse clock symbolic names in /proc/pid/timens_offsets 7dc89376b pstree: improve error handling in read_pstree_image 42b5700b7 kerndat remove duplicate call to kerndat_nsid() 2c2fdd333 parasite-msg: %u is not implemented for parasite code ef7ef9cfa kerndat: remove duplicate call to kerndat_socket_netns() 62088c721 criu: put statement continuation on the same line as the closing bracket d1fa1734e autofs: fix integer overflow in mount options parsing 6b9faabf3 mem: avoid re-opening CR_FD_PAGES when not needed 4d34f84bb img: rellocate a PATH_MAX buffer from the bss section to the stack bb0b4219e img: fix image_name() when image is empty 067a20c81 zdtm: fail if test with the crfail tag passes 698f3a4db zdtm: limit the line length for ps by 160 symbols eab1a3074 timens: restore processes in a new timens to restore clocks 73438d34b test: check that C/R of nested time namespaces fails 0d8c0562f zdtm_ct: run each test in a new time namespace f1655fd54 zdtm: add a new test to check c/r of time namespaces 3fd0fa4bd zdtm: add support for time namespaces ddba4af60 namespace: fail if ns/time_for_children isn't equal to ns/time 4127ef4ab criu: Add support for time namespaces 0e9b42acf MAINTAINERS: Add Pavel (myself) to maintainers e3fb52e37 remove header include statements duplicates 8c36865c8 memfd: split the struct memfd_inode e3a5d0975 memfd: save all memfd inodes in one image 967797a86 Add build directory to gitignore cc362b432 namespaces: fix error handling in dump_user_ns 1ad8657dd config/nftables: include string.h for strlen 5f28b692a test/fifo_loop: change sizes of all fifo-s to fit a test buffer 1ad209b9c test/pipe03: check that pipe size is restored 2b376168e pipe: restore pipe size even if a pipe is empty fa705e418 zdtm: Use safe helper function to initialize unix socket sockaddr structure 691b4a4e7 zdtm: Implemented get_current_dir_name wrapper that checks for 'x' permissions c40c09cbb test/zdtmp: add a test to C/R shared memory file descriptors 10b1d46f6 mem/vma: set VMA_FILE_{PRIVATE,SHARED} if a vma file is borrowed fb65ab2b1 mem: dump shared memory file descriptors f42ae70c7 make: use cflags/ldflags for config.h detection mechanism d0d6f1ad1 mailmap: update my email c3ad4942d travis: add ppc64-cross test on amd64 b9c8e957d crit-recode: skip (not try to parse) nftables raw image 1f74f8d77 travis: Use debian/buster as base for cross build tests 18ac1540c travis: Add aarch64-cross test on amd64 327554ee6 compel: Remove compel.h 62ad2f609 criu: Remove compel.h includes 065ff6f41 zdtm/fifo_loop: don't try to write more than pipe size 73e0ed3b8 zdtm: add a test on open symlink migration 1936608ce files: allow dumping opened symlinks 8b9c1f4c5 zdtm: add a test for files opened with O_PATH f167d1f4e fown: Don't fail on dumping files opened with O_PATH 58fd63042 zdtm/inhfd: force python to read new data from a file fce196d88 memfd: don't corrupt a state of the dumped fd ffe0896ed fs: use __open_proc instead of open("/proc/...", ... ) 4129d3262 cgroup2: add minimal cgroup2 support 10416bcbc seize: support cgroup v2 freezer 9f902e0c6 seize: factor out opening and writing the freezer state 563c5e5e7 seize: prepare for cgroupv2 freezer bb032cc3e criu(8): Convert tabs to spaces 48f3b6516 criu(8): Add documentation for --enable-fs cdd08cdff uffd: use userns_call() to execute ioctl(UFFDIO_API) 38793699e test/jenkins: remove empty line at the end of file 3eab205ba python: sort imports bc49927bb criu: Make use strlcpy() to copy into allocated strings ec1164495 criu: Use strlcpy() instead of strncpy() 2dd105b8d memfd: add tests b133c375a inhfd_test: add support for non-pair files 56d8e2455 memfd: add seals support 29a1a88bc memfd: add memory mapping support b25684e24 memfd: add --inherit-fd support 875ac4d03 files: increase path buffer size in inherited_fd() c1e72aa93 memfd: add file support 5dbc24b20 util: introduce the mount_detached_fs helper e19f4cf3b MAINTAINERS: Add Dima and Adrian to maintainers 42db2c156 MAINTAINERS: add Mike 872b795a5 Maintainers: Suggest the maintainers codex (#932) ff756cbb2 python: sort imports d68a68b8f test/zdtm/inhfd: update dump options one each iteration f5181b276 Travis: fix podman test case 3a4c33c50 zdtm: mntns_rw_ro_rw update error msg 9cb4067e1 vdso: Don't page-align vvar a96a7ed87 vdso: Repair !CONFIG_VDSO 0022c2846 vdso: Add vdso_is_present() helper 99346a282 zdtm: Make test_{doc,author} weak variables 72ff29070 criu: Make use strlcpy() to copy into allocated strings 0f438ceee typo: fix missing space in error message 9bc9366c9 vdso: use correct offsets to remap vdso and vvar mappings f1714ccce test/vdso: check the code path when here is no API to map vDSO 56258da17 criu: fix build failure against gcc-10 23374b779 criu(8): fix for asciidoctor a15426a11 criu(8): some minor rewording 8477875dc doc/Makefile: don't hide xmlto stderr c98af78c5 compel: add -ffreestanding to force gcc not to use builtin memcpy, memset f6de8d4ea travis: fix warning and errors from validation 0e291d26c arm: use clone3() if it exists f991f2350 aarch64: use clone3() if possible 3dabd38a8 clone3: handle clone3() with CLONE_PARENT f6469493d ppc64le: use clone3() if possible 55c8ec62a arm: remove stack pointer from clobber list cbadd201c s390x: use clone3() if possible 4c4f67a56 s390x: remove stack pointer from clobber list a1ea8deb4 Use clone3() with set_tid to create processes 97c03b97d Add assembler wrapper for clone3() ca02c4707 kerndat: detect if system support clone3() with set_tid 8fea2647b travis: reduce the number of podman tests 4232b270b image: core -- Reserve start_time field f1abc9aa2 ppc64le: remove register '1' from clobber list 0c218746d Switch open-j9 alpine tests to python3 1e9ff2aa0 Add Socket-based Java Functional Tests 8b5dea33f travis: switch alpine to python3 75a744238 files: Add FD_CLOEXEC test 8255caf27 files: Remove O_CLOEXEC from file flags 2ac43cd42 python: Improve decoding of file flags 7622b7a70 files: fix ghost file error path acb42456d zdtm: nft tables preservation test e1c487175 net: add nftables c/r 17c4a8b24 style: Enforce kernel style -Wstrict-prototypes 8bb3c17a0 style: Enforce kernel style -Wdeclaration-after-statement 79559bef9 Fix tests on Ubuntu 8b467dd94 zdtm: Add test for SO_KEEPALIVE d4e6fc2a0 socket: c/r support for SO_KEEPALIVE 0980617e2 sockets: Remove duplicate variable assignment 00bb06878 scripts: alpine: Install py2 packages with pip 2e656222d crit: fix python3 encoding issues 4c46cbc4d x86/cpu: cleanup and improve xfeatures_mask check 55f7a571f zdtm: sysctl net.unix.max_dgram_qlen value preservation test ebe3b5235 unix: sysctl -- Preserve max_dgram_qlen value 1d23dc4a3 mount: Order call_helper_process calls 2237666ac restorer/inotify: reorder inotify cleanup after waiting helpers and zombies af7e5f994 readme: github pull-requests is the preferred way to contribute be43c3b84 cgroup: use new mount API to open the cgroup file system 76e4d31a3 net: use new mount API to open the sysfs file system 1a2d8ad7e mount: use new mount API to open the proc file system 4997a096e util: introduce the mount_detached_fs helper b5b1c4ec4 kerndat: check whether the new mount API is supported of not 3ca09b191 travis: ignore fails of podman-test 37220b3c4 Add File-based Java Functional Tests 6ab2bdd94 zdtm/socket-tcp-fin-wait1: Use array index fro TEST_MSG 434e6b92d Documentation: Add a hint about docker build 1dbc83595 travis: Add armv7-cross as cross-compile test bffa6e0ad build/zdtm: Use pkg-config to find includes/libs 3b24574b6 build/zdtm: Makefile hack for travis aarch64/armv8l 70fae1250 build/zdtm: Support cross-build 1463c4111 build: Use SUBARCH df66aa99b build/nmk: Provide proper SUBARCH a4fa4162d build/nmk: Remove SRCARCH 25f6d4f72 build: Remove SRCARCH 60bb5c731 zdtm: Set --root path to 0700 on restore 90cbeadb6 zdtm: Replace if->continue with if->elif->else 9a50fbce7 man: Describe --root option requirements 8ab3e40e3 restore: Create temp proc in /tmp d99ee9753 mount: Bind-mount root via userns_call b50b6ea09 mount: Add error messages 75fcec0ec travis: exclude uns tests for lazy-pages on newer kernels 8f45330d1 travis: group lazy-pages options dc4677123 Checkpoint only specified controllers 1c0716924 compel/criu: Add __must_check 56bc4189e criu: Kill tasks even when the network is unlocked c21c0aea1 compel/infect: Detach but fail compel_resume_task() bd17ee858 parasite-syscall: Log if can't cure on failed infection abe48f8c3 cr-restore: Warn if restorer can't be unmapped 1038a0ae4 cr-dump: Warn if unmapping local memfd failed b5a83623b cr-dump: Try to cure remote on err-pathes 717385657 lib/infect: Check if compel succeed in executing munmap ee449e27c compel: Mark compat argument of __NR() as used c8f16bfac compel/infect: Warn if close() failed on memfd a93117ede lib/ptrace: Be more elaborate about failures ef277068d lib/ptrace: Allow PTRACE_PEEKDATA with errno != 0 ea018e9a9 travis: remove group from .travis.yml fe668075a travis: switch pcp64le and s390x to real hardware eab8cf077 travis: switch all arm related tests to real hardware 075f1beaf Makefile hack for travis aarch64/armv8l 6be414bb2 travis: Do not run privileged containers in LXD 62953d433 travis: fix copy paste error from previous commit 2b4e65336 Run java functional tests on travis f3cca97d8 mount: make mnt_resort_siblings nonrecursive and reuse friendly 35adc0859 mount: rework mount tree build step on restore 7be726026 ns/restore/image: do not read namespace images for non-namespaced case 71dff54aa ns: make rst_new_ns_id static d804f70a6 mount: remove useless check in populate_mnt_ns 9325339e6 travis: Disallow failures on ia32 389bcfef3 test/java: Add FileRead Tests c4006c003 test/static:conntracks: Support nftables a7c625938 travis: start to use aarch64 hardware 3861b334b Fix broken web-links 1a28dee52 Action scripts should be invoked with normal signal behavior 19a24df53 early-log: Print warnings only if the buffer is full 00ce121fd Add `criu` to PATH env variable in libcriu tests 321f82662 Enable libcriu testing in travis jobs f8125b8be Couple of fixes to build and run libcriu tests 477c3a4b0 service: Use space on stack for msg buffer e56401ed3 image-desc: Remove CR_FD_FILE_LOCKS_PID f65b17e97 cgroup: fix cg_yard leak on error path in prepare_cgroup_sfd 5a92f100b page-pipe: Resize up to PIPE_MAX_SIZE 71c2a9dc7 Guard against empty file lock status 3efe44382 image: avoid name conflicts in image files 6b264f591 criu: use atomic_add instead of atomic_sub 7c97cc7eb lib/c: fix a compile time error d30557699 zdtm: handle --pre-dump-mode in the rpc mode befbbd9bb Refactor time accounting macros 98608b90d read mode pre-dump implementation 4c774afc1 Adding cnt_sub for stats manipulation 29b63e9a7 Skip adding PROT_READ to non-PROT_READ mappings e0ea21ad5 Handling iov generation for non-PROT_READ regions 20d4920a8 Adding --pre-dump-mode option 576a99f49 restorer/inotify: Don't overflow PIE stack 578597299 Cleanup do_full_int80() b84f481b5 unix: print inode numbers as unsigned int 3f1c4a17a pipe: print pipe_id as unsigned to generate an external pipe name b47ef26ea cgroup: fixup nits f44939317 zdtm/cgroup_yard: create a test cgroup yard from the post-start hook db40ef5be test/cgroup_yard: always clean up a test cgroup yard 813bfbeb4 Convert pr_msg() error messages to pr_err() a9f974b49 Introduce flush_early_log_to_stderr destructor 8bdc60d50 arch/x86: fpu_state->fpu_state_ia32.xsave hast to be 64-byte aligned 4f24786b3 travis: Install missing diffutils dependency cf0080505 test: implement test for new --cgroup-yard option 2f337652a Add new command line option: --cgroup-yard ad7e82a30 scripts: Drop Fedora 28/rawhide fix 3e9dc1c7f compel/x86: Don't use pushq for a label 0d8e2477e arch/x86: push correct eip on the stack before lretq 8ea953f18 cr-dump: Remove redundant if-statement 3eed47223 files-reg: Drop clear_ghost_files() prototype 08f3b57ab py: Manual fixlets of code formatting Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: backport patch to fix build failure for gcc-10Chen Qi2020-09-022-0/+88
| | | | | | | Backport patch to fix build failure for gcc-10. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: python3 updateBruce Ashfield2020-01-222-57/+16
| | | | | | Updating the version of criu and the install rules to be python3 safe. Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* Fix criu build for aarch64Ruslan Piasetskyi2019-10-131-1/+1
| | | | | | | | | | | | Makefile: # # Supported Architectures ifneq ($(filter-out x86 arm aarch64 ppc64 s390,$(ARCH)),) $(error "The architecture $(ARCH) isn't supported") endif Signed-off-by: Ruslan Piasetskyi <ruslan.piasetskyi@gmail.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: upgrade 3.11 -> 3.12Yuan Chao2019-08-122-7/+9
| | | | | | | Refresh patch: 0001-criu-Fix-toolchain-hardcode.patch Signed-off-by: Yuan Chao <yuanc.fnst@cn.fujitsu.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: fix dump error on Intel Apollo Lake SOCDengke Du2019-05-292-0/+49
| | | | | | | | | | | | | | | Fix dump error when executing: criu dump -D checkpoint -t pid ------------------------------------------------- Error (criu/arch/x86/crtools.c:362): x86: Corruption in XFEATURE_YMM area (expected 64 but 0 obtained) Error (criu/cr-dump.c:1280): Can't infect (pid: 2874) with parasite Error (criu/cr-dump.c:1732): Dumping FAILED. ------------------------------------------------- Backport upstream patch on criu-dev branch to fix this: [https://github.com/checkpoint-restore/criu/commit/5a52e34655636a8f00a664cf42716e1439ea2ef0] Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: upgrade to 3.11Dengke Du2019-03-242-45/+2
| | | | | | | | Remove the following patch, because the 3.11 version already contain it. 0001-kdat-Don-t-open-run-criu.kdat-if-doesn-t-exists.patch Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: fix host gcc can't recognized option -fmacro-prefix-mapDengke Du2019-03-011-0/+1
| | | | | | | | | | | | | | | Generally, our host gcc version below 8.0, but cross toolchain in yocto above 8.0, now 8.3, the option "macro-prefix-map" coming from 8.0, so if the host gcc below 8.0, it can't unrecognized the option "macro-prefix-map". In criu source code, the HOSTCFLAGS coming from CFLAGS: https://github.com/checkpoint-restore/criu/blob/criu-dev/Makefile#L17 In yocto project, the CFLAGS coming from the cross toolchain, containing the "-fmacro-prefix-map" default, so we should use the BUILD_CFLAGS, it contains the flags that used for host building. Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
* criu: Don't open /run/criu.kdat if doesn't existsHongzhi.Song2018-11-292-0/+43
| | | | | | | | | | | | | When CRIU is called for a first time and the /run/criu.kdat file does not exists, the following warning is shown: Warn (criu/kerndat.c:847): Can't load /run/criu.kdat This patch is replacing this warning with a more appropriate debug message. File /run/criu.kdat does not exist Signed-off-by: Hongzhi.Song <hongzhi.song@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: uprev to version 3.10Mark Asselstine2018-08-023-13/+14
| | | | | | | | | | | | | | | | | | | | | | A fairly straightforward uprev requiring minimal patch refreshing since a few hunks were failing due to conflicts with upstream updates. Unfortunately upstream starting using the now overloaded "PYTHON" variable in their Makefiles, this is not the path to the python executable but rather the name 'python2' or 'python3' which is used to determine which local directories to include. Due to this we must explicitly assign values to 'PYTHON_FULL' and 'PYTHON'. We use 'python2' since we are using 'setuptools' and therefore are explicitly using python v2, at some point we might want to make this recipe work with either python v2 or v3 but for now we continue to explicitly use v2. Instead of using version specific filename we switch to using _git.bb which is inline with similar 'git' recipes found in oe-core and other repos. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: upgrade to 3.9Zheng Ruoqin2018-07-221-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | 1) Upgrade criu from 3.4 to 3.9. 2) Delete fix-building-on-newest-glibc-and-kernel.patch for it has been merged in upstream. 3) Add CFLAGS_arm += "-D__WORDSIZE" add this CFLAGS to solve the compile problem for arm. The log is as following: | ....../tmp/work/armv5e-poky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/bits/wordsize.h:36:2: error: #error "__WORDSIZE is not defined" | #error "__WORDSIZE is not defined" | ^ | ....../tmp/work/armv5e-poky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/bits/wordsize.h:59:2: error: # 4) Add export C_INCLUDE_PATH="${STAGING_INCDIR}/libnl3" add C_INCLUDE_PATH to solve the compile problem for arm. which is libnetlink.c can't find head file. | In file included from criu/libnetlink.c:5: | ....../tmp/work/armv5e-p | oky-linux-gnueabi/criu/3.9+gitAUTOINC+202b7745bd-r0/recipe-sysroot/usr/include/libnl3/netlink/attr.h:15:10: fatal error: netlink/netlink.h: No such file or directory #include <netlink/netlink.h> Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: refresh patches to fix QA warningYi Zhao2018-04-135-26/+16
| | | | | | | Refresh patches with devtool command to fix do_patch warning. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: fix build failure with newer glibc and kernelYi Zhao2018-04-132-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | With newer glibc(>= 2.26) and kernel(>=4.14), criu would fail to build: In file included from /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/linux/aio_abi.h:31:0, from criu/cr-check.c:24: /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/recipe-sysroot/usr/include/sys/mount.h:35:3: error: expected identifier before numeric constant MS_RDONLY = 1, /* Mount read-only. */ ^ CC criu/parasite-syscall.o CC criu/pipes.o CC criu/pie-util.o CC criu/pie-util-vdso.o CC criu/plugin.o /buildarea/build/tmp/work/core2-64-poky-linux/criu/3.4+gitAUTOINC+a31c1854e1-r0/git/scripts/nmk/scripts/build.mk:110: recipe for target 'criu/cr-check.o' failed make[2]: *** [criu/cr-check.o] Error 1 Backport a patch to fix it. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: set CLEANBROKEN to 1Chen Qi2017-12-281-0/+2
| | | | | | | | | | | | Rebuilding criu would cause the following error. | make: .gitid: Command not found | make: *** [Makefile:260: clean-top] Error 127 Fix this problem by setting CLEANBROKEN to "1". Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: uprev to version 3.4Mark Asselstine2017-09-105-98/+52
| | | | | | | | | | | | | | | | | | | | Our current version of criu is about a year old and has some compilation issues with the latest gcc (currently it is unbuildable). Since the version of criu and the kernel version are fairly tightly coupled it wouldn't be surprising of this old criu would also be exhibiting some runtime issues with our fairly new kernel version. With the above in mind we uprev to criu v3.4 which was recently released. This requires several of the patches to be updated (mostly context). We are able to drop the selinux related change as RSS prevents the situation this was working around from happenning. This was validated using https://criu.org/Simple_loop (and a few variants). Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* Revert "criu: Correct the installation directory for python modules"Bruce Ashfield2017-09-102-31/+0
| | | | This reverts commit 90c1046b58c50f127ea711d83874a1dc4b68f7ed.
* criu: Correct the installation directory for python modulesJianchuan Wang2017-08-312-0/+31
| | | | | Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: add bash rdependsHe Zhe2017-06-271-0/+1
| | | | | | | | | | Fix the following QA warning: QA Issue: /usr/libexec/criu/scripts/systemd-autofs-restart.sh contained in package criu requires /bin/bash, but no providers found in RDEPENDS_criu? [file-rdeps] Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: add libbsd rdependsHe Zhe2017-06-271-1/+1
| | | | | | | | | | | Fix the following QA warning: QA Issue: criu rdepends on libbsd, but it isn't a build dependency? [build-deps] This had been fixed by 1fd94d853545b55173b1f0e2cf683a5d21f8cd7b, but then was overwritten by b9b7ece0cd52966467035fb71ad9ba472bf24b88 Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: force python to install in ${libdir}Mark Asselstine2017-04-242-0/+32
| | | | | | | | | | | Historically Yocto installs python modules in ${libdir} and not the no-arch variant. The criu install was following every other distros use of the non-arch variant, /usr/lib, which was being picked up by the QA check. Modify the criu Makefile to enable us to overwrite this location by using setup.py's install-lib directive. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: depend on util-linux-nativeMark Asselstine2017-04-241-1/+1
| | | | | | | | | | To provide hexdump which is used as part of the build process. Resolves | criu/pie/../../scripts/gen-offsets.sh: line 37: hexdump: command not found | criu/pie/Makefile:96: recipe for target 'criu/pie/parasite-blob.h' failed Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* crui: update selinux patch to apply to v2.5Mark Asselstine2017-04-241-11/+24
| | | | | | | | | | I am not sure how the uprev to v2.5 was completed without seeing this patch failure but regardless the file being patched was moved to the 'criu' directory as part of the v2.5 release. Update the path found in the patch and update the context in the patch such that it applies. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: uprev to 2.5Jianchuan Wang2016-09-124-82/+140
| | | | | Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: fix build-deps qa warningKai Kang2016-06-062-4/+34
| | | | | | | | | | | | | It shows warning when build crius if libselinux has been built already: WARNING: QA Issue: criu rdepends on libselinux, but it isn't a build dependency? [build-deps] Add a patch to disable selinux support when 'selinux' is not in PACKAGECONF. And update indentation at same time. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: remove protobuf-2.6.1 and the relatedZumeng Chen2016-05-208-306/+0
| | | | | | | | | | Since CRIU does not explicitly nominate the version of protobuf as 2.6.1, which should not be included just here. And it seems protobuf-2.5.0 is doable or this CRIU version based on a basic testing according to criu.org/Simple_loop as well, so remove it from criu. Signed-off-by: Zumeng Chen <zumeng.chen@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
* criu: Fix QA warningYunguo Wei2016-05-031-1/+1
| | | | | | | | | This is fixing: QA Issue: criu rdepends on libbsd, but it isn't a build dependency? [build-deps] Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>