@@ -1068,6 +1068,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
"failed give dom%d access to ioports %"PRIx32"-%"PRIx32,
domid, io->first, io->first + io->number - 1);
ret = ERROR_FAIL;
+ goto error_out;
}
}
@@ -1083,6 +1084,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
if (ret < 0) {
LOGE(ERROR, "failed give dom%d access to irq %d", domid, irq);
ret = ERROR_FAIL;
+ goto error_out;
}
}
@@ -1099,6 +1101,7 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
"failed give dom%d access to iomem range %"PRIx64"-%"PRIx64,
domid, io->start, io->start + io->number - 1);
ret = ERROR_FAIL;
+ goto error_out;
}
}
If we fail to give the access, the domain will unlikely work correctly. So we should bail out at the first error. Signed-off-by: Julien Grall <julien.grall@linaro.org> Cc: Ian Jackson <ian.jackson@eu.citrix.com> Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Cc: Ian Campbell <ian.campbell@citrix.com> Cc: Wei Liu <wei.liu2@citrix.com> (Based on commit 7070eec417934360bf3aed434191246dfe4f8091) --- The original patch https://patches.linaro.org/42911/ doesn't applied on Xen 4.4 and Xen 4.3. --- tools/libxl/libxl_create.c | 3 +++ 1 file changed, 3 insertions(+)