import criu-3.15-13.el9
This commit is contained in:
parent
ae9ec04957
commit
a07eb89e48
57
SOURCES/0001-Fix-building-with-annobin.patch
Normal file
57
SOURCES/0001-Fix-building-with-annobin.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From 4878775c8e0f2ea6869aff139d219f6eb0c4006c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrian Reber <areber@redhat.com>
|
||||||
|
Date: Fri, 28 Jan 2022 15:10:31 +0000
|
||||||
|
Subject: [PATCH] Fix building with annobin
|
||||||
|
|
||||||
|
Annobin (used at least in Fedora and RHEL) injects annotation into the
|
||||||
|
compiled objects which break the parasite and restorer.
|
||||||
|
|
||||||
|
This removes the annobin flags as used in Fedora and RHEL and makes CRIU
|
||||||
|
work on Fedora and RHEL with annobin enabled.
|
||||||
|
|
||||||
|
Signed-off-by: Adrian Reber <areber@redhat.com>
|
||||||
|
---
|
||||||
|
compel/plugins/Makefile | 2 +-
|
||||||
|
criu/pie/Makefile | 2 +-
|
||||||
|
criu/pie/Makefile.library | 2 +-
|
||||||
|
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compel/plugins/Makefile b/compel/plugins/Makefile
|
||||||
|
index e5fa781ac..37630d438 100644
|
||||||
|
--- a/compel/plugins/Makefile
|
||||||
|
+++ b/compel/plugins/Makefile
|
||||||
|
@@ -1,4 +1,4 @@
|
||||||
|
-CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN),$(CFLAGS))
|
||||||
|
+CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN) -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1,$(CFLAGS))
|
||||||
|
CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
|
||||||
|
CFLAGS += -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=0
|
||||||
|
|
||||||
|
diff --git a/criu/pie/Makefile b/criu/pie/Makefile
|
||||||
|
index 265dcf82b..386626334 100644
|
||||||
|
--- a/criu/pie/Makefile
|
||||||
|
+++ b/criu/pie/Makefile
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
|
||||||
|
target := parasite restorer
|
||||||
|
|
||||||
|
-CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN),$(CFLAGS))
|
||||||
|
+CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN) -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1,$(CFLAGS))
|
||||||
|
CFLAGS += $(CFLAGS_PIE)
|
||||||
|
ccflags-y += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
|
||||||
|
ccflags-y += -Wp,-U_FORTIFY_SOURCE -Wp,-D_FORTIFY_SOURCE=0
|
||||||
|
diff --git a/criu/pie/Makefile.library b/criu/pie/Makefile.library
|
||||||
|
index da2a2fab3..6247afe7e 100644
|
||||||
|
--- a/criu/pie/Makefile.library
|
||||||
|
+++ b/criu/pie/Makefile.library
|
||||||
|
@@ -21,7 +21,7 @@ ifeq ($(ARCH),arm)
|
||||||
|
lib-y += ./$(ARCH_DIR)/pie-cacheflush.o
|
||||||
|
endif
|
||||||
|
|
||||||
|
-CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN),$(CFLAGS))
|
||||||
|
+CFLAGS := $(filter-out -pg $(CFLAGS-GCOV) $(CFLAGS-ASAN) -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1,$(CFLAGS))
|
||||||
|
CFLAGS += $(CFLAGS_PIE)
|
||||||
|
|
||||||
|
ifeq ($(ARCH),mips)
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
64
SOURCES/0001-util-make-page-server-IPv6-safe.patch
Normal file
64
SOURCES/0001-util-make-page-server-IPv6-safe.patch
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
From b9ae48172fff77d41b5cf19d334ccbe002ac0686 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adrian Reber <areber@redhat.com>
|
||||||
|
Date: Tue, 7 Dec 2021 09:10:14 +0000
|
||||||
|
Subject: [PATCH] util: make page-server IPv6 safe
|
||||||
|
|
||||||
|
The function run_tcp_server() was the last place CRIU was still using
|
||||||
|
the IPv4 only function inet_ntoa(). It was only used during a print, so
|
||||||
|
that it did not really break anything, but with this commit the output
|
||||||
|
is now no longer:
|
||||||
|
|
||||||
|
Accepted connection from 0.0.0.0:58396
|
||||||
|
|
||||||
|
but correctly displaying the IPv6 address
|
||||||
|
|
||||||
|
Accepted connection from ::1:58398
|
||||||
|
|
||||||
|
if connecting via IPv6.
|
||||||
|
|
||||||
|
Signed-off-by: Adrian Reber <areber@redhat.com>
|
||||||
|
---
|
||||||
|
criu/util.c | 15 +++++++++++----
|
||||||
|
1 file changed, 11 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/criu/util.c b/criu/util.c
|
||||||
|
index 2917102fd..822822186 100644
|
||||||
|
--- a/criu/util.c
|
||||||
|
+++ b/criu/util.c
|
||||||
|
@@ -1098,7 +1098,7 @@ out:
|
||||||
|
int run_tcp_server(bool daemon_mode, int *ask, int cfd, int sk)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
- struct sockaddr_in caddr;
|
||||||
|
+ struct sockaddr_storage caddr;
|
||||||
|
socklen_t clen = sizeof(caddr);
|
||||||
|
|
||||||
|
if (daemon_mode) {
|
||||||
|
@@ -1126,14 +1126,20 @@ int run_tcp_server(bool daemon_mode, int *ask, int cfd, int sk)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (sk >= 0) {
|
||||||
|
+ char port[6];
|
||||||
|
+ char address[INET6_ADDRSTRLEN];
|
||||||
|
*ask = accept(sk, (struct sockaddr *)&caddr, &clen);
|
||||||
|
if (*ask < 0) {
|
||||||
|
pr_perror("Can't accept connection to server");
|
||||||
|
goto err;
|
||||||
|
- } else
|
||||||
|
- pr_info("Accepted connection from %s:%u\n",
|
||||||
|
- inet_ntoa(caddr.sin_addr),
|
||||||
|
- (int)ntohs(caddr.sin_port));
|
||||||
|
+ }
|
||||||
|
+ ret = getnameinfo((struct sockaddr *)&caddr, clen, address, sizeof(address), port, sizeof(port),
|
||||||
|
+ NI_NUMERICHOST | NI_NUMERICSERV);
|
||||||
|
+ if (ret) {
|
||||||
|
+ pr_err("Failed converting address: %s\n", gai_strerror(ret));
|
||||||
|
+ goto err;
|
||||||
|
+ }
|
||||||
|
+ pr_info("Accepted connection from %s:%s\n", address, port);
|
||||||
|
close(sk);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
@ -5,13 +5,9 @@
|
|||||||
# that is fixed, disable LTO.
|
# that is fixed, disable LTO.
|
||||||
%global _lto_cflags %%{nil}
|
%global _lto_cflags %%{nil}
|
||||||
|
|
||||||
# With annobin enabled, CRIU does not work anymore. It seems CRIU's
|
|
||||||
# parasite code breaks if annobin is enabled.
|
|
||||||
%undefine _annotated_build
|
|
||||||
|
|
||||||
Name: criu
|
Name: criu
|
||||||
Version: 3.15
|
Version: 3.15
|
||||||
Release: 12%{?dist}
|
Release: 13%{?dist}
|
||||||
Provides: crtools = %{version}-%{release}
|
Provides: crtools = %{version}-%{release}
|
||||||
Obsoletes: crtools <= 1.0-2
|
Obsoletes: crtools <= 1.0-2
|
||||||
Summary: Tool for Checkpoint/Restore in User-space
|
Summary: Tool for Checkpoint/Restore in User-space
|
||||||
@ -31,6 +27,9 @@ BuildRequires: make
|
|||||||
# Checkpointing containers with a tmpfs requires tar
|
# Checkpointing containers with a tmpfs requires tar
|
||||||
Recommends: tar
|
Recommends: tar
|
||||||
|
|
||||||
|
Patch0: 0001-util-make-page-server-IPv6-safe.patch
|
||||||
|
Patch1: 0001-Fix-building-with-annobin.patch
|
||||||
|
|
||||||
# user-space and kernel changes are only available for x86_64, arm,
|
# user-space and kernel changes are only available for x86_64, arm,
|
||||||
# ppc64le, aarch64 and s390x
|
# ppc64le, aarch64 and s390x
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=902875
|
# https://bugzilla.redhat.com/show_bug.cgi?id=902875
|
||||||
@ -74,6 +73,8 @@ their content in human-readable form.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# %{?_smp_mflags} does not work
|
# %{?_smp_mflags} does not work
|
||||||
@ -118,6 +119,10 @@ rm -rf $RPM_BUILD_ROOT%{_libexecdir}/%{name}
|
|||||||
%doc %{_mandir}/man1/crit.1*
|
%doc %{_mandir}/man1/crit.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Jan 31 2022 Adrian Reber <areber@redhat.com> - 3.15-13
|
||||||
|
- Apply patch to build with annobin enabled
|
||||||
|
- Apply patch to fix unsafe IPv6 handling
|
||||||
|
|
||||||
* Mon Sep 6 2021 Radostin Stoyanov <radostin@redhat.com> - 3.15-12
|
* Mon Sep 6 2021 Radostin Stoyanov <radostin@redhat.com> - 3.15-12
|
||||||
- Increase release number from 11 to 12
|
- Increase release number from 11 to 12
|
||||||
- Disable podman test when crun doesn't support checkpoint/restore
|
- Disable podman test when crun doesn't support checkpoint/restore
|
||||||
|
Loading…
Reference in New Issue
Block a user