start: add out_sync_fini cleanup label

parent 9b5724cd
...@@ -1651,28 +1651,21 @@ static int lxc_spawn(struct lxc_handler *handler) ...@@ -1651,28 +1651,21 @@ static int lxc_spawn(struct lxc_handler *handler)
ret = socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0, ret = socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0,
handler->data_sock); handler->data_sock);
if (ret < 0) { if (ret < 0)
lxc_sync_fini(handler); goto out_sync_fini;
return -1;
}
ret = resolve_clone_flags(handler); ret = resolve_clone_flags(handler);
if (ret < 0) { if (ret < 0)
lxc_sync_fini(handler); goto out_sync_fini;
return -1;
}
if (conf->shmount.path_host) { if (conf->shmount.path_host) {
if (!conf->shmount.path_cont) { if (!conf->shmount.path_cont)
lxc_sync_fini(handler); goto out_sync_fini;
return -1;
}
ret = lxc_setup_shmount(conf); ret = lxc_setup_shmount(conf);
if (ret < 0) { if (ret < 0) {
ERROR("Failed to setup shared mount point"); ERROR("Failed to setup shared mount point");
lxc_sync_fini(handler); goto out_sync_fini;
return -1;
} }
} }
...@@ -1687,8 +1680,7 @@ static int lxc_spawn(struct lxc_handler *handler) ...@@ -1687,8 +1680,7 @@ static int lxc_spawn(struct lxc_handler *handler)
ret = lxc_find_gateway_addresses(handler); ret = lxc_find_gateway_addresses(handler);
if (ret < 0) { if (ret < 0) {
ERROR("Failed to find gateway addresses"); ERROR("Failed to find gateway addresses");
lxc_sync_fini(handler); goto out_sync_fini;
return -1;
} }
/* That should be done before the clone because we will /* That should be done before the clone because we will
...@@ -1963,6 +1955,8 @@ out_delete_net: ...@@ -1963,6 +1955,8 @@ out_delete_net:
out_abort: out_abort:
lxc_abort(name, handler); lxc_abort(name, handler);
out_sync_fini:
lxc_sync_fini(handler); lxc_sync_fini(handler);
if (handler->pinfd >= 0) { if (handler->pinfd >= 0) {
close(handler->pinfd); close(handler->pinfd);
......
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