mirror of
https://github.com/checkpoint-restore/criu
synced 2025-09-04 00:05:26 +00:00
sockets: fail if an unsupported socket is in a dumped netns
If netns is dumped, crtools fails if it collects unsupported sockets. If netns isn't dumped, crtools will fail only if an unsupported socket should be dumped. Signed-off-by: Andrey Vagin <avagin@openvz.org> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
committed by
Pavel Emelyanov
parent
acf73093df
commit
d0476ea93b
18
cr-dump.c
18
cr-dump.c
@@ -1505,17 +1505,19 @@ int cr_dump_tasks(pid_t pid, const struct cr_options *opts)
|
|||||||
if (collect_pstree(pid, opts))
|
if (collect_pstree(pid, opts))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
/*
|
|
||||||
* Ignore collection errors by now since we may not want
|
|
||||||
* to dump the missed sockets. But later, when we will start
|
|
||||||
* dumping containers, we'll better fail here, rather than
|
|
||||||
* in the dump stage
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (mntns_collect_root(root_item->pid.real))
|
if (mntns_collect_root(root_item->pid.real))
|
||||||
goto err;
|
goto err;
|
||||||
|
|
||||||
collect_sockets(pid);
|
ret = collect_sockets(pid);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If netns isn't dumped, crtools will fail only
|
||||||
|
* if an unsupported socket will be really dumped.
|
||||||
|
*/
|
||||||
|
if ((opts->namespaces_flags & CLONE_NEWNET) && ret)
|
||||||
|
goto err;
|
||||||
|
|
||||||
|
ret = -1;
|
||||||
|
|
||||||
glob_fdset = cr_glob_fdset_open(O_DUMP);
|
glob_fdset = cr_glob_fdset_open(O_DUMP);
|
||||||
if (!glob_fdset)
|
if (!glob_fdset)
|
||||||
|
Reference in New Issue
Block a user