user avatar
criu: update to 3.16.1
Bruce Ashfield authored
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: default avatarBruce Ashfield <bruce.ashfield@gmail.com>
0b5fba47
Name Last commit Last update