Update to 2.8

- Dropped 'mount_resolve_path()' patch
This commit is contained in:
Adrian Reber 2016-11-15 09:39:50 +01:00
parent 961477f982
commit ab2b9436c1
4 changed files with 9 additions and 61 deletions

1
.gitignore vendored
View File

@ -26,3 +26,4 @@
/criu-2.5.tar.bz2
/criu-2.6.tar.bz2
/criu-2.7.tar.bz2
/criu-2.8.tar.bz2

View File

@ -1,55 +0,0 @@
From 5988ec5b89bcda9f6b57e79315a54e340926f1aa Mon Sep 17 00:00:00 2001
From: Andrei Vagin <avagin@virtuozzo.com>
Date: Tue, 25 Oct 2016 04:41:00 +0300
Subject: [PATCH] cr-check: fill up a root task mount namespace
A root mount namespace list is used to resolve paths to
unix sockets if they are placed on btrfs.
This patch fixes a crash:
#0 mount_resolve_path at criu/mount.c:213
#1 phys_stat_resolve_dev at criu/mount.c:240
#2 phys_stat_dev_match at criu/mount.c:256
#3 unix_process_name at criu/sk-unix.c:565
#4 unix_collect_one at criu/sk-unix.c:620
#5 unix_receive_one at criu/sk-unix.c:692
#6 nlmsg_receive at criu/libnetlink.c:45
#7 do_rtnl_req at criu/libnetlink.c:119
#8 do_collect_req at criu/sockets.c:610
#9 collect_sockets at criu/sockets.c:636
travis-ci: success for cr-check: fill up a root task mount namespace
https://bugzilla.redhat.com/show_bug.cgi?id=1381351
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
---
criu/cr-check.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/criu/cr-check.c b/criu/cr-check.c
index 352e9c7..6456486 100644
--- a/criu/cr-check.c
+++ b/criu/cr-check.c
@@ -1017,7 +1017,7 @@ static int (*chk_feature)(void);
} while (0)
int cr_check(void)
{
- struct ns_id ns = { .type = NS_CRIU, .ns_pid = PROC_SELF, .nd = &mnt_ns_desc };
+ struct ns_id *ns;
int ret = 0;
if (!is_root_user())
@@ -1032,9 +1032,11 @@ int cr_check(void)
if (collect_pstree_ids())
return -1;
- ns.id = root_item->ids->mnt_ns_id;
+ ns = lookup_ns_by_id(root_item->ids->mnt_ns_id, &mnt_ns_desc);
+ if (ns == NULL)
+ return -1;
- mntinfo = collect_mntinfo(&ns, false);
+ mntinfo = collect_mntinfo(ns, false);
if (mntinfo == NULL)
return -1;

View File

@ -1,6 +1,6 @@
Name: criu
Version: 2.7
Release: 2%{?dist}
Version: 2.8
Release: 1%{?dist}
Provides: crtools = %{version}-%{release}
Obsoletes: crtools <= 1.0-2
Summary: Tool for Checkpoint/Restore in User-space
@ -8,7 +8,6 @@ Group: System Environment/Base
License: GPLv2
URL: http://criu.org/
Source0: http://download.openvz.org/criu/criu-%{version}.tar.bz2
Patch0: https://github.com/xemul/criu/commit/5988ec5b89bcda9f6b57e79315a54e340926f1aa.patch
%if 0%{?rhel}
# RHEL has no asciidoc; take man-page from Fedora 24
@ -66,8 +65,7 @@ their content in human-readable form.
%prep
%setup -q -n criu-%{version}
%patch0 -p1
%setup -q
%build
# %{?_smp_mflags} does not work
@ -124,6 +122,10 @@ rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig
%changelog
* Tue Nov 15 2016 Adrian Reber <adrian@lisas.de> - 2.8-1
- Update to 2.8
- Dropped 'mount_resolve_path()' patch
* Wed Oct 19 2016 Adrian Reber <adrian@lisas.de> - 2.7-2
- Added upstream patch to fix #1381351
("criu: mount_resolve_path(): criu killed by SIGSEGV")

View File

@ -1 +1 @@
491c90d48f18477ba9ef7717c6f260d5 criu-2.7.tar.bz2
bc350004d1ebbad6dc1157c88edb40aa criu-2.8.tar.bz2