From 5f5d698053043369011ff551be0986a22e13d267 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Tomko?= Date: Sun, 5 Sep 2021 20:59:27 +0200 Subject: [PATCH] libxl: capsInitCPU: fail if we can't initialize host features MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Jim Fehlig --- 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.47.2