Commit 2d3fa5e7 authored by Pavel Emelyanov's avatar Pavel Emelyanov

net: Use ns walking helper

Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 16971e47
...@@ -684,8 +684,9 @@ err_nl: ...@@ -684,8 +684,9 @@ err_nl:
goto out; goto out;
} }
static int collect_net_ns(struct ns_id *ns, bool for_dump) static int collect_net_ns(struct ns_id *ns, void *oarg)
{ {
bool for_dump = (oarg == (void *)1);
int ret; int ret;
pr_info("Collecting netns %d/%d\n", ns->id, ns->pid); pr_info("Collecting netns %d/%d\n", ns->id, ns->pid);
...@@ -701,27 +702,8 @@ static int collect_net_ns(struct ns_id *ns, bool for_dump) ...@@ -701,27 +702,8 @@ static int collect_net_ns(struct ns_id *ns, bool for_dump)
int collect_net_namespaces(bool for_dump) int collect_net_namespaces(bool for_dump)
{ {
int ret = 0; return walk_namespaces(&net_ns_desc, collect_net_ns,
struct ns_id *ns; (void *)(for_dump ? 1UL : 0));
for (ns = ns_ids; ns; ns = ns->next) {
if (!(ns->nd->cflag & CLONE_NEWNET))
continue;
if (ns->pid == getpid()) {
if ((root_ns_mask & CLONE_NEWNET))
continue;
ret = collect_net_ns(ns, for_dump);
break;
}
ret = collect_net_ns(ns, for_dump);
if (ret)
break;
}
return ret;
} }
struct ns_desc net_ns_desc = NS_DESC_ENTRY(CLONE_NEWNET, "net"); struct ns_desc net_ns_desc = NS_DESC_ENTRY(CLONE_NEWNET, "net");
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment