qemuPrepareNVRAM: Refuse conversion of NVRAM backing file format

Refuse situations where the user configures a different format for a
file-backed nvram than the template file has.

At this point it's still required that the NVRAM and firmware share
format, but that is going to be relaxed, thus we need to refuse
configurations that the code can't handle.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2024-11-04 18:04:29 +01:00
parent 6540cc08b1
commit 2aa644a2fc

View File

@ -4624,6 +4624,12 @@ qemuPrepareNVRAM(virQEMUDriver *driver,
return -1; return -1;
} }
if (loader->nvram->format != loader->nvramTemplateFormat) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("conversion of the nvram template to another target format is not supported"));
return -1;
}
if ((srcFD = virFileOpenAs(loader->nvramTemplate, O_RDONLY, if ((srcFD = virFileOpenAs(loader->nvramTemplate, O_RDONLY,
0, -1, -1, 0)) < 0) { 0, -1, -1, 0)) < 0) {
virReportSystemError(-srcFD, virReportSystemError(-srcFD,