#include <xen-xsm/flask/flask.h>
int libxl__domain_create_info_setdefault(libxl__gc *gc,
- libxl_domain_create_info *c_info)
+ libxl_domain_create_info *c_info,
+ const libxl_physinfo *info)
{
- libxl_physinfo info[1];
- int rc;
-
- rc = libxl_get_physinfo(CTX, info);
- if (rc)
- return rc;
-
if (!c_info->type) {
LOG(ERROR, "domain type unspecified");
return ERROR_INVAL;
int ret;
bool pod_enabled = false;
+ libxl_physinfo physinfo;
+ ret = libxl_get_physinfo(CTX, &physinfo);
+ if (ret) goto error_out;
+
if (d_config->c_info.ssid_label) {
char *s = d_config->c_info.ssid_label;
ret = libxl_flask_context_to_sid(ctx, s, strlen(s),
goto error_out;
}
- ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info);
+ ret = libxl__domain_create_info_setdefault(gc, &d_config->c_info,
+ &physinfo);
if (ret) {
LOGD(ERROR, domid, "Unable to set domain create info defaults");
goto error_out;
dm_config->c_info.run_hotplug_scripts =
guest_config->c_info.run_hotplug_scripts;
- ret = libxl__domain_create_info_setdefault(gc, &dm_config->c_info);
+ libxl_physinfo physinfo;
+ ret = libxl_get_physinfo(CTX, &physinfo);
+ if (ret) goto out;
+
+ ret = libxl__domain_create_info_setdefault(gc, &dm_config->c_info,
+ &physinfo);
if (ret) goto out;
ret = libxl__domain_build_info_setdefault(gc, &dm_config->b_info);
if (ret) goto out;
libxl_domain_config *d_config,
uint32_t domid /* logging only */);
_hidden int libxl__domain_create_info_setdefault(libxl__gc *gc,
- libxl_domain_create_info *c_info);
+ libxl_domain_create_info *c_info,
+ const libxl_physinfo *info);
_hidden int libxl__domain_build_info_setdefault(libxl__gc *gc,
libxl_domain_build_info *b_info);
_hidden void libxl__rdm_setdefault(libxl__gc *gc,