return 0;
}
+bool exec_needs_network_namespace(const ExecContext *context) {
+ assert(context);
+
+ return context->private_network || context->network_namespace_path;
+}
+
bool exec_needs_mount_namespace(
const ExecContext *context,
const ExecParameters *params,
}
}
- if ((context->private_network || context->network_namespace_path) && runtime && runtime->netns_storage_socket[0] >= 0) {
+ if (exec_needs_network_namespace(context) && runtime && runtime->netns_storage_socket[0] >= 0) {
if (ns_type_supported(NAMESPACE_NET)) {
r = setup_shareable_ns(runtime->netns_storage_socket, CLONE_NEWNET);
assert(id);
/* It is not necessary to create ExecRuntime object. */
- if (!c->private_network && !c->private_ipc && !c->private_tmp && !c->network_namespace_path) {
+ if (!exec_needs_network_namespace(c) && !c->private_ipc && !c->private_tmp) {
*ret = NULL;
return 0;
}
return r;
}
- if (c->private_network || c->network_namespace_path) {
+ if (exec_needs_network_namespace(c)) {
if (socketpair(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0, netns_storage_socket) < 0)
return -errno;
}
ExecDirectoryType exec_resource_type_from_string(const char *s) _pure_;
bool exec_needs_mount_namespace(const ExecContext *context, const ExecParameters *params, const ExecRuntime *runtime);
+bool exec_needs_network_namespace(const ExecContext *context);
return true;
}
- return context->private_network || context->network_namespace_path;
+ return exec_needs_network_namespace(context);
}
static int socket_address_listen_in_cgroup(
pair[0] = safe_close(pair[0]);
- if ((s->exec_context.private_network || s->exec_context.network_namespace_path) &&
+ if (exec_needs_network_namespace(&s->exec_context) &&
s->exec_runtime &&
s->exec_runtime->netns_storage_socket[0] >= 0) {