From c8ede44db2e94444e5a8ee38e21eda2b42717879 Mon Sep 17 00:00:00 2001 Message-Id: From: Pavel Hrdina Date: Tue, 18 May 2021 15:03:02 +0200 Subject: [PATCH] qemu_firmware: don't error out for unknown firmware features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When QEMU introduces new firmware features libvirt will fail until we list that feature in our code as well which doesn't sound right. We should simply ignore the new feature until we add a proper support for it. Reported-by: Laszlo Ersek Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Daniel P. Berrangé (cherry picked from commit 61d95a1073833ec4323c1ef28e71e913c55aa7b9) Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1961562 Signed-off-by: Pavel Hrdina Message-Id: <8989d70d49d8a720532a8c25e3e73d9b3bf2a495.1621342722.git.phrdina@redhat.com> Reviewed-by: Michal Privoznik --- src/qemu/qemu_firmware.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c index c84d03f0a8..8ef515ca57 100644 --- a/src/qemu/qemu_firmware.c +++ b/src/qemu/qemu_firmware.c @@ -570,6 +570,7 @@ qemuFirmwareFeatureParse(const char *path, virJSONValuePtr featuresJSON; g_autoptr(qemuFirmwareFeature) features = NULL; size_t nfeatures; + size_t nparsed = 0; size_t i; if (!(featuresJSON = virJSONValueObjectGetArray(doc, "features"))) { @@ -590,17 +591,16 @@ qemuFirmwareFeatureParse(const char *path, int tmp; if ((tmp = qemuFirmwareFeatureTypeFromString(tmpStr)) <= 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("unknown feature %s"), - tmpStr); - return -1; + VIR_DEBUG("ignoring unknown QEMU firmware feature '%s'", tmpStr); + continue; } - features[i] = tmp; + features[nparsed] = tmp; + nparsed++; } fw->features = g_steal_pointer(&features); - fw->nfeatures = nfeatures; + fw->nfeatures = nparsed; return 0; } -- 2.31.1