* Thu Apr 05 2018 tiwai@suse.de
- update to criu 3.8.1: a bug-fix release
FDstore was initialized twice (re-initialized) causing e.g.
- -shell-job restore to fail
* Tue Mar 20 2018 tiwai@suse.de
- Add python-devel to BuildReq explicitly, as a preparation for
fallback to asciidoctor (bsc#1075764)
* Tue Mar 13 2018 avindra@opensuse.org
- update to criu 3.8:
New features
* C/R of
- Multiple network namespaces
- Overmounted tmpfs mounts
- Unix sockets and epoll descriptors in SCM messages
Improvements
* Rework service descriptors not to cause fdtable enormous grows
Bugfixes
* FP state wasn't reported on Skylake due to a kernel bug
* gcc 8 warning fixes
* Resource leaked on error paths
* Attributes of sit devices with value 0 were not saved into
images (and were restored into default values)
* Tasks with pgid of a zombie hung the resture
* Ghost files on RO bind-mounts of an RW mount couldn't be
restored
* Random memory corruptions during lazy restore
- cleanup with spec-cleaner
- switch to https urls
- list binaries and man pages explicitly
- remove rest of static libs to fix rpm lint errors
* Sat Dec 23 2017 avindra@opensuse.org
- update to criu 3.7:
New features
* Pipes usage statistics
* Run page server as non-daemon via RPC
* C/R of
- SO_REUSEPORT option
- IPv4-mapped inet sockets
- Net_prio CGroups
- Overmounted shared mountpoints
- Non-broken and breaking leases
Improvements
* Show criu and kernel versions in logs
* CRIT decodes socket families, protocols and types
* Much less pipes is needed for pre-dump, which is especially
useful for big mem migration
Bugfixes
* Files in /proc/pid/map_file could be opened by non-exiting
name (with 0x prefix) and it was fixed in kernel
* CRIU log levels were used to configure logging for libsoccr
thus breaking its logs
* Overflow in various IDs caused bad image names
* Compat (32bit) syscalls lost signedness in compel
* Corked sockets lost cork flag
* Preadv() syscall was declared with error which resulted in
dump errors on 32-bit processors
* Musl compilation failed
* Ghost files in / dump failed
* Crash when releasing context for ghost files, due to free()-ing
shmalloc()-ed area
* Lazy restore could receive partial page and crashed
* Erroneous closing of lazy pages connection caused restore to
hang
* Lazy memory fetch restore could start before tasks are restored
- Remove 0001-images.py-remove-shebang.patch
* upstreamed in 8e45ce4905d186abafb7c20abb3b00207fefdb53
* Sun Nov 12 2017 aavindraa@gmail.com
- add 0001-images.py-remove-shebang.patch
* fixes a lint warning about a non-executable python file being
executable due to a superfluous shebang
* upstream: https://lists.openvz.org/pipermail/criu/2017-November/039907.html
- run spec-cleaner
* Sun Nov 05 2017 aavindraa@gmail.com
- update to criu 3.6:
New features
* C/R for files (except for unix sockets, ttys and epolls) sent
over unix sockets
* C/R for threads with different creds
* Ipv6 over ipv4 tunnel (SIT device)
Bugfixes
* Some s390x registers were not restored by native sigrestore way
* Overflow when parsing autofs info from /proc file
* Dumps of anon shared memory with sysvipc one raced with each
other clashing and corrupting image file names
* The "dumpable" flag was not restore on shmem regions
* Trash bits leaked into image when dumping fsnotify on some
kernels
* Lock/unlock of iptables from different criu processes raced with
each other
* Closed TCP connection with non-empty send queue blocked the dump
* When --empty-ns for netns was set on dump only, the restore
failed (Docker case)
- includes changes from 3.5:
see https://criu.org/Download/criu/3.5 for details
* Tue Aug 22 2017 tiwai@suse.de
- update to criu 3.4:
New features:
* Support for s390x architecture
Improvements:
* Unexpected death of restored tasks is reported with more
details in logs
* Merged many images containing info about files into one big
files.img
* When helper utility fails (ip, iptables, tar) its name is
printed in logs
Bugfixes:
* Compilation failed on newer glibcs (ucontext_t)
* Dying helper task could deadlock the restore process
* Install-related makefile variables weren't configurable for
distro build
* SIT (ipv6-to-v4 tunnel) presence on host blocked dump of any
containers
* Potential NULL dereference when dumping net namespace
* Dump via page server might not work across different criu
versions
* Failure to restore a subtask could be ignored by the restore
command
* EOF on page-server socket wasn't handled
- Dropped obsoleted patch:
criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch
- Add s390x to exclusivearch
* Wed Jul 19 2017 bwiedemann@suse.com
- update to criu 3.3
* Add --tcp-close option to help migration of Docker containers
* Allow to override build time to fix build-compare (boo#1047218)
* Fri Jun 30 2017 tiwai@suse.de
- update to criu 3.2.1: bug fix release,
* Restoring a stack fails on recent kernels due to kernel changes
* Restoring on a host with LSM profiles failed
* Tue Jun 20 2017 tiwai@suse.de
- update to criu 3.1:
New features:
* Each boolean option now has the --no-$option pair
* RSS explorer in CRIT
* Multiple plugins in compel
* Run-time check of 32-mmap BUG on x86
* C/R of 32-bit futex robust list on x86
Optimizations/improvements:
* Start time is improved significantly with kerndat cache
* Sigaction image is merged into Core
* Unneeded stages are skipped during restore
* Restore w/o namespaces uses host /proc
* Restore w/o namespaces doesn't parse host mounts (not needed)
* Single-threaded tasks do not parse /proc/pid/task/ in vain
* BFD engine is used for more /proc files
* More verbosity in libsoccr
* Fsnotify dump w/o namespaces doesn't walk mounts tree
Bugfixes:
* Python bindings left zombie in self-dump mode
* The last_pid sys-control was reset by restore
* Threads caps were compared with mistake
* make install put crit/pycriu to wrong place if DESTDIR was not set
* Fsnotifies C/R w/o namespaces restored with errors
* Inherited control terminal restore was failed (but dump succeeded)
- update to criu 3.2:
Optimizations/improvements:
* Invisible files restore is de-serialized
* VMAs restore performance is improved significantly
- Mappings of the same file re-use the descriptor, not re-open it
every time
- Not-COW-ed mappings are restored in-place and are not mremmap()ed
- Empty RO mappings are mmap()ed as such and thus not re-mprotect()ed
at the end
* More verbosity in case TCP locking fails (#292)
* More verbosity in case VDSO magic mismatch
* Restore or legacy epoll target descriptors and fsnotify marks is
unified with common case
Bugfixes:
* Restoring fanotify marks from old images (<1.3) dropped the mark
* Binfmt_misc mount could be mounted into wrong place
* Compilation failed with gcc 6.3.0 (#315)
* Waiting helpers could race with sigchild handler and would result
in restore failure
* Missing VVAR page in 32bit tasks wasn't skipped and resulted in
restore failure
* After restore consumption of files is increased (was fixed as
side effect of mmap optimization)
Deprecation/Removal:
* Deprecated separate images for fsnotify marks
- Fix the installation of python stuff:
criu-py-install-fix.diff
- Fix the build for ppc64:
criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch
* Mon Apr 24 2017 tiwai@suse.de
- update to criu 3.0:
New features:
* Compel library
* Support for x86 32-bit arch
* Version check via RPC
* ASAN support
* Force VDSO trampolines via fault injection
* C/R of shutdown-ed UDP sockets
* C/R of bind-mounts made from external mounts
Optimizations/improvements:
* SysVIPC shmem segments are now dumped as any other shmem
(taking holes into account and sitting in common memory dumps)
* CRIT show decodes socket's states and types and task's states
into strings
* CRIT show prints unix sockets names in more human-readable form
Bugfixes:
* Unix sockets' names appeared in logs with mistakes
* Contents of SysVIPC shmem segments was dumped twice
* Dumping of any memory segment more than 4Gigs failed
* Migration of unaligned SysvSHM segment on Armv7 failed
Deprecation/removal:
* Exec action is removed, use compel instead
- Create libcompel1 sub-package
* Fri Mar 31 2017 tiwai@suse.de
- update to criu 2.12.1:
Fixes:
* Content for external bind mounts was erroneously dumped, which
could lead to dump failures or huuuge images
* Unneeded collection of host mounts on restore could cause
restore to fail
* Tue Mar 21 2017 tiwai@suse.de
- update to criu 2.12:
New features:
* C/R of external TTYs (for Docker C/R)
Optimizations/improvements:
* Sanitized the way the -v works
Fixes:
* Checking features via RPC crashed
* Resting pipes in user-namespaces could fail on modern kernels
* Shutdown state for UNIX sockets could be lost on restore
* Dump of huge (over 2Gb) SysV shmem segments didn't work
* Tue Feb 28 2017 tiwai@suse.de
- Update to criu 2.11:
New features:
* Added "pre-resume" to action scripts
* New --status-fd option for better control of page server
* C/R OFD file locks, RO root mount for mount namespaces
Optimizations/improvements:
* More strict checks for extra CLI options
* Report errors when probing locks
* Restorer logs now contain timestamps
Fixes:
* Regression: v2.10 was broken on ARM
* Use-after-free when restoring ghost directory
* Array out-of-bound access when restoring VETH device
* Page server exit code could be screwed up
* Clang over-optimized string.h routines resulting in random
crashes
* Parasite failed to send FDs via socket on Alpine Linux
* Restore of huge file tables could get stuck
* Restore of epoll in epoll could fail
* Errno value could be lost when reporting failure to restore
invisible files
* Dump of sched params didn't work on Alpine
* Restore of huge memory dumps (over 2G) failed
* Installation guessed /lib vs /lib64 with errors
* Migration between xsave and noxsave didn't work for wrong cpu
feature being checked
- Update to criu 2.11.1:
Fixes:
* Page server start via RPC was broken
* Fedora build didn't work
* Ppc64LE restorer switch crashed
* Wed Jan 25 2017 tiwai@suse.de
- Update to criu 2.10:
New features:
* C/R of SOCK_PACKET sockets
* Libsoccr -- library for C/R of TCP sockets
Optimizations/improvements:
* Logs cleaned up (removed bunch of useless, fixed '\n' in
perrors)
* Action scripts errors are printed in logs
* Removed several iovec-s copying over the pagemap code
* Restore degraded linearly on Xen guests. Breakpoints disabled
until solution
Fixes:
* Py bindings fault on restore error delivery
* Fd leaked on file restore error path
* Fd leaked when restoring invisible files (gets closed with criu
exit though)
* Link remap restore could fail on kernels 4.8 and higher
* Impossible to restore after restore error with link remap file
in images
* When going daemon a descriptor could be leaked
* Custom setting of mmap_min_addr could make restore to fail
* Sending pages over UNIX socket could race and fail with EAGAIN
* Error getting ID of /proc/pid/ns/foo link not propagated and
could result in bogus NS ID generated
- Add libnet-devel to buildreq for dependency
* Mon Dec 12 2016 tiwai@suse.de
- Update to criu 2.9:
New features:
* CRIU can now be built with clang on all supported architectures
* Ignore missing sysctls on restore with --weak-sysctl
C/R overmounted mountpoints
Optimizations/improvements:
* Batch restore of memory contents from pages.img files
* Link-remap type for invisible files is explicit in images
Man page for CRIT
Fixes:
* C/R with --empty-ns still handled iptables configuration
* SCM messages inside UNIX socket got lost after C/R (now dump
aborted)
* Empty unixsk.img file appeared when dumping tasks without unix
sockets
* Install procedure wasn't PEP-394 compliant
* CRIU blocking netfilter rules were added at the tail of the
chain resulting in unlocked TCP connections
* Dump/Restore spurious failures when open() returned 0 descriptor
* When dumping shmem lots of zero pages were written into image
files
* Ghost directory with more than zero ghost parents caused
restore to fail
* Shared mount could escape to different group on restore
* Mon Nov 14 2016 tiwai@suse.de
- Update to criu 2.8:
New features:
* Ability to configure CRIU build
* Show statistics on the screen with --display-stats
* C/R of Mac-Vlan devices
Optimizations/improvements:
* x86 can now be built with clang
* When dumping files useless garbage was sent with descriptors from
parasite
* The clear_tid_address and regs are printed in hex with CRIT
* Big code rework for compel (part 1)
* Removed duplicate error messages from opening /proc files
Fixes:
* Restoring cgroup NS could use old path prefix
* criu check crashed on btrfs mounts
* RO external mounts in userns couldn't be restored
* Unmounted on host binfmt_misc could cause dump to fail
* Off-by-one could cause criu crash when dumping shared / bind-mount
* Mount namespace' roots could have flags changed on restore
* Dying tasks could erroneously be tried to dump
* Swapped shared memory pages were not dumped
* Errno value can be sometimes spoiled by RPC
* Restore of netns with newer iproute2 tool could fail
Deprecated:
* --ext-unix-sk, --veth-pair and --ext-mount-map, by --external
- Set BINFMT_MISC_VIRTUALIZED config to build
* Tue Oct 18 2016 tiwai@suse.de
- Update to criu 2.7:
New features:
* Option --cgroup-root now makes sense on dump too
* CLOCK_BOOTTIME timer supported
Optimizations/improvements:
* Output of iptables command leaked into logs for no use
* Helper dev environment installation script for Debian
* Man-page updated and prettified :)
Fixes:
* Unmounted binfmt_misc with rules wasn't dumped at all
* Malloc() error could result in crash
* Device cgroup restore could fail restoring empty record
* Some entries in device cgroups were restored twice
* Potential crash when dumping cgroup bindmounts
* Sign error caused dump to fail on btrfs partitions
* Shared mounts with the same mount path failed the dump
* Threads were restored with unshared FS (cwd and root)
* Shared memory changes tracking disabled (regression found)
* Restore of autofs can hang
* LSM profile propagation could be lost
* Mountpoint with lots of options blocked the dump (too small
buffer for parsing)
* External slave mount (with external master) blocked the dump
* Mounts with STRICTATIME restored with others flags dropped
Deprecated:
* No reg-file entry for TTYs
* Thu Sep 15 2016 tiwai@suse.de
- Update to criu 2.6:
New features:
* Ability to leave process stopped after restore
* Memory changes tracking for anonymous shared memory
* Deprecation option/environment
* First error message is reported back via RPC
* C/R of More IPCNS sysctls, xIDs of PTYs, TMEM on PPC64LE
Optimizations/improvements:
* Use service FD for transport sockets on restore
* Ability to turn pagemap-cache off (some kernels are buggy)
* The criu --help text has become better
Fixes:
* R/O-mounted root could block the dump
* Restore of cgroup.mm.oom_control could fail
* Cgroup fs bind mounts were detected with error
* Unaligned futex-es in parasite could cause dump to crash
* When compiled with gcc-4.9 parasite code crashed
* Failure to freeze cgroup didn't result in aborting of dump
* Wrong ns list was parsed when dumping userns (invisible
since nesting works only for mntns)
* Non-inheritable non-tty as stdin caused shell-job restore
to erroneously fail Error path in criu dedup could crash
Deprecated:
* Per-pid rlimit, itimers and posix-timers
* Separate image for epoll tfds (target file descriptors)
* Tue Aug 23 2016 tiwai@suse.de
- Update to criu 2.5:
New features:
* C/R of fs.mqueue.msg*_default sysctls, Unix sockets with
overwritten paths, and Link-remap files in removed directories
Optimizations/improvements:
* Micro-optimization on namespace ID evaluation
* Restoring shared files uses one socket instead of per-fd ones
* More verbosity when refusing to dump a file descriptor
Fixes:
* Restore could fail on openat() with ENXIO when multiple mnt
namespaces get restored
* The criu exec action got broken
* Link-remap and ghost files remained on FS after restore failure
* TCP window could remain clamped after restore resulting in
connection lockup/slowdown
* Dump could stuck when injecting a parasite
* The --timeout option wasn't taken into account when freezing
tasks using freezecg
* Race in freezeing/seizing could result in lost tasks
* Memory leaks here and there on error paths
* Double free in xvstrcat (crash)
* VDSO length was mis-calculated
* Symlink on --root path could make restore erroneously fail
* Potential memory corruption on reading mntns images
* When restoring on systems with low pid_max limit restore could
fail
* RO-protected SysV shmem segments could be restored with
PROT_EXEC
* File mode of mapped file was evaluated with errors
* Restore of cgroups' mem.swappines and ..use_hierarchy blocked
sub-groups creation
* Impossible to restore cgoup mem.swappines default value
* Zombies living in orphan sessions/groups failed the restore
Version: 3.17.1-bp155.2.7
* Fri Sep 30 2022 Takashi Iwai <tiwai@suse.com>
- Disable LTO, as it results in segfaults (bsc#1203854)
* Wed Sep 14 2022 Takashi Iwai <tiwai@suse.com>
- Fix build with glibc 2.36: backports of two upstream fixes
criu-fix-conflicting-headers.patch
mount-add-definition-for-FSOPEN_CLOEXEC.patch
* Thu Aug 11 2022 Takashi Iwai <tiwai@suse.com>
- Update to criu 3.17.1:
* Fixes for pre-dump read mode
* Fixes for mount-v2
* amdgpu plugin build and installation fixes
* Some minor CI related fixes
* Wed May 18 2022 Takashi Iwai <tiwai@suse.com>
- Update to criu 3.17:
New features:
* Introduced mount-v2 engine
* Added support for MAP_HUGETLB mappings
* Added support for Linux Restartable Sequences
* Added support for SOCK_SEQPACKET unix sockets
* CRIU AMD GPU plugin
Bugfixes:
* GCC 12 compatibility fixes
* cgroup: fix --manage-cgroups=ignore
* several memory leaks fixed in net, files, mount, tun and config
subsystems
* Improvements:
* bpf: switch from deprecated bpf_create_map_xattr to bpf_map_create
* bpfmap: handle map_extra field
* setsockopt(SO_BUF_LOCK) support for tcp sockets
- New criu-plugin-amdgpu sub-package for AMDGPU ROCm plugin, enabled
only for x86_64 and aarch64.
- Build fixes for plugins:
criu-amdgpu-plugin-fix.patch
- Change the plugin install path to $libdir/criu:
plugin-dir-path.patch
* Wed Dec 15 2021 tiwai@suse.de
- Drop ix86 build, which has been failing almost always
Version: 3.15-bp151.4.3.1
* Wed May 26 2021 tiwai@suse.de
- Fix the build with protobuf-c 1.4:
criu-protobuf-c-1.4-underscore-fix.patch
* Tue Dec 01 2020 tiwai@suse.de
- Update to criu 3.15:
see details at https://criu.org/Download/criu/3.15
New features:
* Introduced criu-image-streamer
* Added MIPS support
* Allow checkpointing out of existing PID namespace and restoring
into existing PID namespace
* Added additional file validation mechanisms
* Added support to checkpoint and restore BPF hash maps
(BPF_MAP_TYPE_HASH) and array maps (BPF_MAP_TYPE_ARRAY)
* Initial cgroups v2 support
- Fix build with nftables package:
0002-Fix-build-with-nftables-installed-in-different-direc.patch
* Wed Sep 23 2020 Dirk Mueller <dmueller@suse.com>
- fix filelist mismatch after libexecdir change
* Wed May 20 2020 tiwai@suse.de
- Update to criu 3.14:
New features:
* C/R of memfd memory mappings and file descriptors
* Add time namespace support
* Add the read pre-dump mode which uses process_vm_readv
* Add --cgroup-yard option
* Add support of the cgroup v2 freezer
* Add support of opened O_PATH fds
Bugfixes:
* Fix C/R ia32 processes on AMD #398
* Fix cross-compilation
* Many fixes here and there
Improvements:
* Use clone3() with set_tid to restore processes
* Clean up compel headers
* Use the new mount API
- Add libgnutls-devel to buildreq
* Wed May 13 2020 Guillaume GARDET <guillaume.gardet@opensuse.org>
- Disable LTO on aarch64 and armv7
- Add '-Wno-error=deprecated' to fix build on armv7
- Exclude armv6 since criu/arch/arm/bitops.S uses 'dmb ish' which
is armv7+
* Mon Nov 18 2019 tiwai@suse.de
- Update to criu 3.13:
New features:
* VDSO: arm32 support
* Add TLS support for page server communications
* "Ignore" mode for --manage-cgroups
* Restore SO_BROADCAST option for inet sockets
Bugfixes:
* Auxiliary events were left in inotify queues
* Lazy-pages daemon didn't detect stack pages and surrounders
properly and marked them as "lazy"
* Memory and resource leakage were detected by coverity, cppcheck
and clang
Improvements:
* Use gettimeofday() directly from vdso for restore timings
* Reformat all .py code into pep8 style
* Wed Sep 04 2019 antoine.belvire@opensuse.org
- Fix build on Tumbleweed: Add -ffat-lto-objects to lto cflags.
* Mon May 06 2019 tiwai@suse.de
- Update to criu 3.12:
New features:
* build CRIU with Android NDK
* C/R of IP RAW sockets
* lsm: dump and restore any SELinux process label
* support restoring ghost files on readonly mounts
Bugfixes:
* Do not lock network if running in the host network namespace
* Fix RPC configuration file handling
* util: don't leak file descriprots to third-party tools
* small fixes here and there
Improvements:
* travis: switch to the Ubuntu Xenial
* travis-ci: Enable ia32 tests
* Many improvements and bug fixes in the libcriu
* Changes in the API and ABI (SONAME increased from 1 to 2)
- Updated to libcriu2 subpackage to follow SONAME 2
- Dropped obsoleted patch:
criu-asciidoctor.patch
* Mon Nov 19 2018 tiwai@suse.de
- Update to criu 3.10:
New features:
* Support Python3 in ZDTM and CRIT
* Keep names for UNIX sockets, that are unlinked from the FS
* IPVv6 support for page server
* Set page server socket fd via CLI
* Large pages support for aarch64/ppc64
* C/R of Per-thread seccomp chains
Bugfixes:
* Failed non-container restore could kill random task on the host
* Failure to dump namespaces was erroneously ignored
* CRIT didn't show cpuinfo image file
* Tasks that got PID-reuse couldn't be dumped iteratively because
previous images were missing
- Update to criu 3.11:
New features:
* cpuinfo: Detect compact frames and handle noxsaves
* Add support for configuration files
* Add support for external net namespaces
* Punch holes in input files when restoring anonymous non-shared
memory ( --auto-dedup )
* C/R of
+ epoll: Add support for duped targets
+ tun: Add support for multiple net ns
+ x86: Support extendable fpu frames
Bugfixes:
* mount: Better handling of mount points propagation
* nmk: Make collect-deps to be more precise about targets
* lazy-pages: Don't mark current stack page as lazy
* x86: CPU -- Rework feature testing
* files: Fix O(n^2) restore in terms of the number of fds
* fdstore: Unlimit fdstore queue on start
* mount: Fix regression where open_mountpoint failed on readonly fs
* page server: Handle partial splicing
* ... lots of small fixes here and there
Improvements:
* Remove all magic of service descriptors when it isn't required
- Switch to python3
- Use asciidoctor instead of asciidoc for formatting manuals:
criu-asciidoctor.patch
* Mon May 28 2018 avindra@opensuse.org
- update to criu 3.9:
New features
- C/R of
+ Tun-Tap devices in sub-netns
+ File descriptors which were opened with O_TMPFILE
Improvements
- Restore of inotify watchers
- Restore unix sockets in proper mount namespaces
- Print CRIU and kernel version also in RPC mode
Bugfixes
- Random memory corruptions during lazy restore
- Workaround the iptables issue
- Don't use standard descriptors when tar is running to dump
tmpfs mounts
- Fail dump if dump_one_file() fails
- Fill kerndat with zero-s before reading it from cache
- cleanup with spec-cleaner