Package: criu / 3.17.1-2+deb12u1

Metadata

Package Version Patches format
criu 3.17.1-2+deb12u1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
criu fix conflicting headers.patch | (download)

Makefile.config | 2 1 + 1 - 0 !
criu/cgroup.c | 1 1 + 0 - 0 !
criu/cr-check.c | 2 1 + 1 - 0 !
criu/cr-restore.c | 3 2 + 1 - 0 !
criu/include/aio.h | 2 1 + 1 - 0 !
criu/include/linux/aio_abi.h | 14 14 + 0 - 0 !
criu/include/linux/mount.h | 48 25 + 23 - 0 !
criu/include/syscall.h | 17 17 + 0 - 0 !
criu/pie/parasite.c | 2 1 + 1 - 0 !
criu/util.c | 1 1 + 0 - 0 !
scripts/feature-tests.mak | 13 0 + 13 - 0 !
11 files changed, 64 insertions(+), 41 deletions(-)

 criu: fix conflicting headers
mount add definition for FSOPEN_CLOEXEC.patch | (download)

criu/include/linux/mount.h | 10 8 + 2 - 0 !
1 file changed, 8 insertions(+), 2 deletions(-)

 mount: add definition for fsopen_cloexec
cr restore rseq dynamically handle libc with rseq.patch | (download)

criu/cr-restore.c | 16 8 + 8 - 0 !
criu/include/kerndat.h | 2 2 + 0 - 0 !
criu/kerndat.c | 25 23 + 2 - 0 !
3 files changed, 33 insertions(+), 10 deletions(-)

 [patch] cr-restore: rseq: dynamically handle *libc with rseq

Before this patch we assumed that CRIU is compiled against
the same GLibc as it runs with. But as we see from real
world examples like #1935 it's not always true.

The idea of this patch is to detect rseq configuration
for the main CRIU process and use it to unregister
rseq for all further child processes. It's correct,
because we restore pstree using clone*() syscalls,
don't use exec*() (!) syscalls, so rseq gets inherited
in the kernel and rseq configuration remains the same
for all children processes.

This will prevent issues like this:
https://github.com/checkpoint-restore/criu/issues/1935

Suggested-by: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>

cr restore rseq use glibc specific way to unregister.patch | (download)

criu/cr-restore.c | 15 6 + 9 - 0 !
1 file changed, 6 insertions(+), 9 deletions(-)

 [patch] cr-restore: rseq: use glibc-specific way to unregister only
 as fallback

Let's use dynamic approach to detect built-in *libc rseq in all cases,
and "old" static approach as a fallback path if the user kernel
lacks support of ptrace_get_rseq_conf feature.

Suggested-by: Florian Weimer <fweimer@redhat.com>
Signed-off-by: Alexander Mikhalitsyn <alexander.mikhalitsyn@virtuozzo.com>