[CRIU] [PATCH v4 0/3] net: diag -- Placate diag probing

Radostin Stoyanov rstoyanov1 at gmail.com
Thu Dec 13 02:48:56 MSK 2018



On 12/12/2018 22:14, Cyrill Gorcunov wrote:
> On Wed, Dec 12, 2018 at 03:02:27PM +0100, Adrian Reber wrote:
>> On Wed, Dec 12, 2018 at 04:58:27PM +0300, Cyrill Gorcunov wrote:
>>> On Wed, Dec 12, 2018 at 02:54:22PM +0100, Adrian Reber wrote:
>>>> Hmm, I am running through runc which usually does -v4. I copied the
>>>> complete log file to:
>>>>
>>>> https://lisas.de/~adrian/dump.log
>>> Weird. Could you please remove /run/criu.kdat file and restart?
>> Please reload https://lisas.de/~adrian/dump.log
> So lack of error message is because pre-dump-finish enters with
> some @status != 0 from previous operation, and it looks like
> somewhere earlier we lost an error message. Will continue
> tomorrow.
I was able to reproduce the this issue (on fedora 29) with runc and the
following change seems to fix it.

diff --git a/criu/sockets.c b/criu/sockets.c
index 48c71940..09aa0637 100644
--- a/criu/sockets.c
+++ b/criu/sockets.c
@@ -826,8 +826,12 @@ int collect_sockets(struct ns_id *ns)
        req.r.i.idiag_ext       = 0;
        req.r.i.idiag_states    = -1; /* All */
        tmp = do_collect_req(nl, &req, sizeof(req), inet_receive_one,
collect_err, ns, &req.r.i);
-       if (tmp)
-               err = tmp;
+       if (tmp) {
+                    pr_warn("The current kernel doesn't support ipv4
raw_diag module\n");
+                            if (tmp != -ENOENT)
+                                            err = tmp;
+
+        }
 
        /* Collect IPv6 TCP sockets */
        req.r.i.sdiag_family    = AF_INET6;
@@ -866,8 +870,12 @@ int collect_sockets(struct ns_id *ns)
        req.r.i.idiag_ext       = 0;
        req.r.i.idiag_states    = -1; /* All */
        tmp = do_collect_req(nl, &req, sizeof(req), inet_receive_one,
collect_err, ns, &req.r.i);
-       if (tmp)
-               err = tmp;
+        if (tmp) {
+                    pr_warn("The current kernel doesn't support ipv6
raw_diag module\n");
+                            if (tmp != -ENOENT)
+                                            err = tmp;
+
+        }
 
        req.r.p.sdiag_family    = AF_PACKET;
        req.r.p.sdiag_protocol  = 0;

Radostin


More information about the CRIU mailing list