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

Submitted by Radostin Stoyanov on Dec. 12, 2018, 11:48 p.m.

Details

Message ID 1111dc78-bb49-bbd7-a4b5-9a63b9d84310@gmail.com
State New
Series "Series without cover letter"
Headers show

Commit Message

Radostin Stoyanov Dec. 12, 2018, 11:48 p.m.
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.

        /* 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

Patch hide | download patch | download mbox

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;
+
+        }
 

Comments

Cyrill Gorcunov Dec. 13, 2018, 7:05 a.m.
On Wed, Dec 12, 2018 at 11:48:56PM +0000, Radostin Stoyanov wrote:
> I was able to reproduce the this issue (on fedora 29) with runc and the
> following change seems to fix it.
> 

Thanks a huge, Radostin! I'll take a look