Introduced by:
commit 17322e551861a5bc4dd464a7c5399204dc8c7caa
libxl: describe host cpu features based on hwcaps
with the justification that libxl_hwcaps does not have a stable
format across all version.
Even though the code would return '0' in the case of such failure,
it frees the 'cpu' pointer, while keeping it in caps->host.
Based on that, assume it does not happen in current usage.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/libxl/libxl_capabilities.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c
index d98109ea86..9d0ed921bd 100644
--- a/src/libxl/libxl_capabilities.c
+++ b/src/libxl/libxl_capabilities.c
@@ -166,16 +166,17 @@ libxlCapsInitCPU(virCaps *caps, libxl_physinfo *phy_info)
cpu->threads = phy_info->threads_per_core;
cpu->dies = 1;
cpu->sockets = phy_info->nr_cpus / (cpu->cores * cpu->threads);
- caps->host.cpu = cpu;
-
- ret = 0;
if (!(data = libxlCapsNodeData(cpu, phy_info->hw_cap)) ||
cpuDecode(cpu, data, NULL) < 0) {
- VIR_WARN("Failed to initialize host cpu features");
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+ _("Failed to initialize host cpu features"));
goto error;
}
+ caps->host.cpu = cpu;
+ ret = 0;
+
cleanup:
virCPUDataFree(data);
--
2.31.1