Commit Graph

49 Commits

Author SHA1 Message Date
Bruce Ashfield
bc2a750d5c containers: adapt to UNPACKDIR changes
This commit updates the container recipes to the OE core UNPACKDIR
changes.

  - We drop references to WORKDIR
  - We adjust destsuffix fetches to use BB_GIT_DEFAULT_DESTSUFFIX
    instead of 'git'
  - Update our GOPATH references to use UNPACKDIR
  - Drop S = assignemnts where possible

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-06-25 22:40:08 -04:00
Bruce Ashfield
33136f6c20 criu: update to v4.1
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>
2025-04-03 17:56:53 +00:00
Martin Jansa
c01273e001 metadata: add whitespace around assignments
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>
2025-04-03 17:56:53 +00:00
Chen Qi
e340d5b548 criu: fix buildpaths QA issue for arm
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>
2024-11-12 23:13:45 +00:00
Tim Orling
8dd5ca2900 criu: pycriu RDEPENDS on python3-fcntl
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-03-15 17:17:20 +00:00
Tim Orling
c735cd2ec9 criu: pycriu RDEPENDS on python3-ctypes
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-03-15 17:17:20 +00:00
Tim Orling
6f7a7d62cb criu: pycriu RDEPENDS on python3-protobuf
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-03-15 17:17:20 +00:00
Tim Orling
227452ab4b criu: cleanup; export USRBINPATH PEP517_INSTALL_PYTHON
Signed-off-by: Tim Orling <tim.orling@konsulko.com>
2024-03-15 17:17:20 +00:00
Tim Orling
cd11ca9de3 criu: fix pycriu build of wheel
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>
2024-03-15 17:17:19 +00:00
Tim Orling
9b4acf5185 criu: build and install wheels
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>
2024-03-15 17:17:19 +00:00
Bruce Ashfield
6509f2f6e1 criu: update to v3.19
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>
2024-03-15 17:17:19 +00:00
Xiangyu Chen
cb84780339 criu: add cgroup-lite to RDEPENDS
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>
2024-01-19 14:29:24 +00:00
Bruce Ashfield
08435d20b1 recipes/classes/scripts: Drop SRCPV usage
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>
2023-08-24 01:38:21 +00:00
Xiangyu Chen
e48b934c83 criu: avoid textrel QA Issue warning
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>
2022-12-22 10:32:04 -05:00
Kai Kang
f8c8b90244 criu: 3.17 -> 3.17.1
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>
2022-10-04 16:42:07 -04:00
Changqing Li
e851963070 criu: fix patch fuzz and remove unused patch
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2022-06-07 10:03:30 -04:00
Chen Qi
2e787b9d75 criu: fix QA issue about shebang too long
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>
2022-06-07 10:00:37 -04:00
He Zhe
c578929ca3 criu: Upgrade to 3.17 to fix restore and fix build
- 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>
2022-05-12 00:01:55 -04:00
Bruce Ashfield
108e089f7e global: update licence values to SPDX values
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>
2022-02-18 13:07:10 -05:00
Bruce Ashfield
7fec18f265 criu: remove :append and += combination
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>
2021-11-04 10:42:35 -04:00
Bruce Ashfield
0a7ae8bc50 global: convert github SRC_URIs to use https protocol
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>
2021-11-02 09:57:03 -04:00
Bruce Ashfield
0b5fba47b7 criu: update to 3.16.1
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>
2021-10-18 13:34:35 -04:00
Bruce Ashfield
d876cfc5bf global: overrides syntax conversion
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>
2021-08-02 17:17:53 -04:00
Bruce Ashfield
747ce53666 criu: update to 3.14
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>
2021-04-16 11:53:37 -04:00
Chen Qi
2711b81afd criu: backport patch to fix build failure for gcc-10
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>
2020-09-02 16:30:44 -04:00
Bruce Ashfield
67b237d9a9 criu: python3 update
Updating the version of criu and the install rules to be python3 safe.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2020-01-22 15:53:49 +00:00
Ruslan Piasetskyi
533f9aa5aa Fix criu build for aarch64
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>
2019-10-13 19:44:49 -04:00
Yuan Chao
940b899bc0 criu: upgrade 3.11 -> 3.12
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>
2019-08-12 11:02:31 -04:00
Dengke Du
1f26faec8a criu: fix dump error on Intel Apollo Lake SOC
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:
[5a52e34655]

Signed-off-by: Dengke Du <dengke.du@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2019-05-29 23:57:22 -04:00
Dengke Du
3910d2fd29 criu: upgrade to 3.11
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>
2019-03-24 23:14:08 -04:00
Dengke Du
3e7593f357 criu: fix host gcc can't recognized option -fmacro-prefix-map
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>
2019-03-01 11:37:43 -05:00
Hongzhi.Song
47dd312669 criu: Don't open /run/criu.kdat if doesn't exists
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>
2018-11-29 12:11:41 -05:00
Mark Asselstine
67c011572a criu: uprev to version 3.10
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>
2018-08-02 22:57:14 -04:00
Zheng Ruoqin
10a427cadd criu: upgrade to 3.9
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>
2018-07-22 23:15:21 -04:00
Yi Zhao
3e709e6665 criu: fix build failure with newer glibc and kernel
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>
2018-04-13 15:53:57 -04:00
Chen Qi
d1969606e3 criu: set CLEANBROKEN to 1
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>
2017-12-28 11:13:05 -05:00
Mark Asselstine
ba35378ce5 criu: uprev to version 3.4
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>
2017-09-10 22:36:02 -04:00
Bruce Ashfield
8d40af1278 Revert "criu: Correct the installation directory for python modules"
This reverts commit 90c1046b58.
2017-09-10 22:35:31 -04:00
Jianchuan Wang
90c1046b58 criu: Correct the installation directory for python modules
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-08-31 15:24:24 -04:00
He Zhe
2631bf14e6 criu: add bash rdepends
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>
2017-06-27 13:23:56 -04:00
He Zhe
a1c49287a8 criu: add libbsd rdepends
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 1fd94d8535,
but then was overwritten by b9b7ece0cd

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2017-06-27 13:23:37 -04:00
Mark Asselstine
d3c6004e92 criu: force python to install in ${libdir}
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>
2017-04-24 22:51:29 -04:00
Mark Asselstine
76c38f219d criu: depend on util-linux-native
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>
2017-04-24 22:51:29 -04:00
Jianchuan Wang
b9b7ece0cd criu: uprev to 2.5
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2016-09-12 10:03:05 -04:00
Kai Kang
06dccfa933 criu: fix build-deps qa warning
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>
2016-06-06 02:44:44 -04:00
Yunguo Wei
1fd94d8535 criu: Fix QA warning
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>
2016-05-03 22:19:54 -04:00
Jianchuan Wang
34a127f3c5 criu: upgrade 1.4 -> 1.6
Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-09-08 10:01:24 -04:00
Nam Ninh
9a095cb70e criu: upgrade from version from 1.2 to 1.4
Upgrade criu from version from 1.2 to 1.4.
criu is the only user of protobuf and only supported on x86 and arm,
so limit protobuf support on x86 and arm too.

Signed-off-by: Nam Ninh <nam.ninh@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2015-03-30 23:45:22 -04:00
David Nyström
02e4046656 Added CRIU recipe
Signed-off-by: David Nyström <david.nystrom@enea.com>
Reviewed-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-12-07 15:32:30 +01:00