- 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
OBS-URL: https://build.opensuse.org/request/show/749339
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=93
- 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
OBS-URL: https://build.opensuse.org/request/show/701145
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=89
- 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
OBS-URL: https://build.opensuse.org/request/show/650258
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=87
- 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
OBS-URL: https://build.opensuse.org/request/show/612701
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=85
- 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
OBS-URL: https://build.opensuse.org/request/show/588180
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=80
- 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
OBS-URL: https://build.opensuse.org/request/show/559519
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=78
- 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
OBS-URL: https://build.opensuse.org/request/show/539037
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=74
- 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
OBS-URL: https://build.opensuse.org/request/show/518323
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=72
- 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
OBS-URL: https://build.opensuse.org/request/show/505507
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=66
- 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
OBS-URL: https://build.opensuse.org/request/show/491189
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=64
- 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
OBS-URL: https://build.opensuse.org/request/show/481821
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=60
- 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
OBS-URL: https://build.opensuse.org/request/show/460900
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=58
- 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
OBS-URL: https://build.opensuse.org/request/show/452443
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=56
- 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
OBS-URL: https://build.opensuse.org/request/show/445518
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=54
- 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
OBS-URL: https://build.opensuse.org/request/show/440284
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=52
- 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
OBS-URL: https://build.opensuse.org/request/show/435934
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=50
- 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)
OBS-URL: https://build.opensuse.org/request/show/428071
OBS-URL: https://build.opensuse.org/package/show/devel:tools/criu?expand=0&rev=48