Accepting request 707330 from Virtualization

OBS-URL: https://build.opensuse.org/request/show/707330
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=285
This commit is contained in:
Dominique Leuenberger 2019-06-07 10:17:44 +00:00 committed by Git OBS Bridge
commit b3a1b59bd2
38 changed files with 221 additions and 1283 deletions

View File

@ -18,10 +18,10 @@ them.
create mode 100644 src/conf/domain_stats.c
create mode 100644 src/conf/domain_stats.h
Index: libvirt-5.3.0/src/conf/domain_stats.c
Index: libvirt-5.4.0/src/conf/domain_stats.c
===================================================================
--- /dev/null
+++ libvirt-5.3.0/src/conf/domain_stats.c
+++ libvirt-5.4.0/src/conf/domain_stats.c
@@ -0,0 +1,139 @@
+/*
+ * domain_stats.c: domain stats extraction helpers
@ -162,10 +162,10 @@ Index: libvirt-5.3.0/src/conf/domain_stats.c
+}
+
+#undef STATS_ADD_NET_PARAM
Index: libvirt-5.3.0/src/conf/domain_stats.h
Index: libvirt-5.4.0/src/conf/domain_stats.h
===================================================================
--- /dev/null
+++ libvirt-5.3.0/src/conf/domain_stats.h
+++ libvirt-5.4.0/src/conf/domain_stats.h
@@ -0,0 +1,64 @@
+/*
+ * domain_stats.h: domain stats extraction helpers
@ -231,10 +231,10 @@ Index: libvirt-5.3.0/src/conf/domain_stats.h
+ int *maxparams);
+
+#endif /* __DOMAIN_STATS_H */
Index: libvirt-5.3.0/src/libvirt_private.syms
Index: libvirt-5.4.0/src/libvirt_private.syms
===================================================================
--- libvirt-5.3.0.orig/src/libvirt_private.syms
+++ libvirt-5.3.0/src/libvirt_private.syms
--- libvirt-5.4.0.orig/src/libvirt_private.syms
+++ libvirt-5.4.0/src/libvirt_private.syms
@@ -678,6 +678,9 @@ virDomainConfNWFilterInstantiate;
virDomainConfNWFilterTeardown;
virDomainConfVMNWFilterTeardown;
@ -253,10 +253,10 @@ Index: libvirt-5.3.0/src/libvirt_private.syms
virCgroupHasController;
virCgroupHasEmptyTasks;
virCgroupKillPainfully;
Index: libvirt-5.3.0/src/qemu/qemu_driver.c
Index: libvirt-5.4.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.3.0/src/qemu/qemu_driver.c
--- libvirt-5.4.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.4.0/src/qemu/qemu_driver.c
@@ -67,6 +67,7 @@
#include "virarptable.h"
#include "viruuid.h"
@ -265,7 +265,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
#include "domain_audit.h"
#include "node_device_conf.h"
#include "virpci.h"
@@ -19942,21 +19943,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
@@ -19943,21 +19944,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
@ -288,7 +288,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
}
@@ -20146,37 +20133,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
@@ -20147,37 +20134,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
int *maxparams)
{
qemuDomainObjPrivatePtr priv = dom->privateData;
@ -327,7 +327,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
}
@@ -20370,44 +20327,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
@@ -20373,44 +20330,6 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
return ret;
}
@ -372,7 +372,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
static int
qemuDomainGetStatsInterface(virQEMUDriverPtr driver ATTRIBUTE_UNUSED,
virDomainObjPtr dom,
@@ -20415,68 +20334,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
@@ -20418,68 +20337,9 @@ qemuDomainGetStatsInterface(virQEMUDrive
int *maxparams,
unsigned int privflags ATTRIBUTE_UNUSED)
{
@ -442,7 +442,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
#define QEMU_ADD_BLOCK_PARAM_UI(record, maxparams, num, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -20709,10 +20569,10 @@ qemuDomainGetStatsBlockExportHeader(virD
@@ -20712,10 +20572,10 @@ qemuDomainGetStatsBlockExportHeader(virD
{
int ret = -1;
@ -455,7 +455,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
if (src->id)
QEMU_ADD_BLOCK_PARAM_UI(records, nrecords, recordnr, "backingIndex",
src->id);
@@ -20866,7 +20726,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
@@ -20869,7 +20729,7 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
* after the iteration than it is to iterate twice; but we still
* want count listed first. */
count_index = record->nparams;
@ -464,7 +464,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
for (i = 0; i < dom->def->ndisks; i++) {
if (qemuDomainGetStatsBlockExportDisk(dom->def->disks[i], stats, nodestats,
@@ -20891,8 +20751,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
@@ -20894,8 +20754,6 @@ qemuDomainGetStatsBlock(virQEMUDriverPtr
#undef QEMU_ADD_BLOCK_PARAM_ULL
@ -473,7 +473,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
#define QEMU_ADD_IOTHREAD_PARAM_UI(record, maxparams, id, name, value) \
do { \
char param_name[VIR_TYPED_PARAM_FIELD_LENGTH]; \
@@ -20944,7 +20802,7 @@ qemuDomainGetStatsIOThread(virQEMUDriver
@@ -20947,7 +20805,7 @@ qemuDomainGetStatsIOThread(virQEMUDriver
if (niothreads == 0)
return 0;
@ -482,7 +482,7 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
for (i = 0; i < niothreads; i++) {
if (iothreads[i]->poll_valid) {
@@ -20977,8 +20835,6 @@ qemuDomainGetStatsIOThread(virQEMUDriver
@@ -20980,8 +20838,6 @@ qemuDomainGetStatsIOThread(virQEMUDriver
#undef QEMU_ADD_IOTHREAD_PARAM_ULL
@ -491,10 +491,10 @@ Index: libvirt-5.3.0/src/qemu/qemu_driver.c
static int
qemuDomainGetStatsPerfOneEvent(virPerfPtr perf,
virPerfEventType type,
Index: libvirt-5.3.0/src/util/vircgroup.c
Index: libvirt-5.4.0/src/util/vircgroup.c
===================================================================
--- libvirt-5.3.0.orig/src/util/vircgroup.c
+++ libvirt-5.3.0/src/util/vircgroup.c
--- libvirt-5.4.0.orig/src/util/vircgroup.c
+++ libvirt-5.4.0/src/util/vircgroup.c
@@ -2774,6 +2774,44 @@ virCgroupControllerAvailable(int control
return ret;
}
@ -556,10 +556,10 @@ Index: libvirt-5.3.0/src/util/vircgroup.c
int
virCgroupNewPartition(const char *path ATTRIBUTE_UNUSED,
bool create ATTRIBUTE_UNUSED,
Index: libvirt-5.3.0/src/util/vircgroup.h
Index: libvirt-5.4.0/src/util/vircgroup.h
===================================================================
--- libvirt-5.3.0.orig/src/util/vircgroup.h
+++ libvirt-5.3.0/src/util/vircgroup.h
--- libvirt-5.4.0.orig/src/util/vircgroup.h
+++ libvirt-5.4.0/src/util/vircgroup.h
@@ -285,4 +285,9 @@ int virCgroupSetOwner(virCgroupPtr cgrou
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
@ -570,10 +570,10 @@ Index: libvirt-5.3.0/src/util/vircgroup.h
+ int *maxparams);
+
#endif /* LIBVIRT_VIRCGROUP_H */
Index: libvirt-5.3.0/src/conf/Makefile.inc.am
Index: libvirt-5.4.0/src/conf/Makefile.inc.am
===================================================================
--- libvirt-5.3.0.orig/src/conf/Makefile.inc.am
+++ libvirt-5.3.0/src/conf/Makefile.inc.am
--- libvirt-5.4.0.orig/src/conf/Makefile.inc.am
+++ libvirt-5.4.0/src/conf/Makefile.inc.am
@@ -22,6 +22,8 @@ DOMAIN_CONF_SOURCES = \
conf/domain_audit.h \
conf/domain_nwfilter.c \

View File

@ -19,10 +19,10 @@ reworking this patch and submitting it to upstream libvirt.
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
Index: libvirt-5.3.0/src/libxl/libxl_driver.c
Index: libvirt-5.4.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.3.0/src/libxl/libxl_driver.c
--- libvirt-5.4.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.4.0/src/libxl/libxl_driver.c
@@ -5266,6 +5266,97 @@ libxlDomainMemoryStats(virDomainPtr dom,
#undef LIBXL_SET_MEMSTAT

View File

@ -9,10 +9,10 @@ them using the existing API.
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 138 insertions(+)
Index: libvirt-5.3.0/src/lxc/lxc_driver.c
Index: libvirt-5.4.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.3.0/src/lxc/lxc_driver.c
--- libvirt-5.4.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.4.0/src/lxc/lxc_driver.c
@@ -75,6 +75,7 @@
#include "viraccessapichecklxc.h"
#include "virhostdev.h"

View File

@ -1,102 +0,0 @@
commit 538d873571d7a682852dc1d70e5f4478f4d64e85
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Fri Apr 5 15:11:20 2019 +0200
cpu_map: Define md-clear CPUID bit
CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091
The bit is set when microcode provides the mechanism to invoke a flush
of various exploitable CPU buffers by invoking the VERW instruction.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.3.0/src/cpu_map/x86_features.xml
===================================================================
--- libvirt-5.3.0.orig/src/cpu_map/x86_features.xml
+++ libvirt-5.3.0/src/cpu_map/x86_features.xml
@@ -320,6 +320,9 @@
<feature name='avx512-4fmaps'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000008'/>
</feature>
+ <feature name='md-clear'> <!-- md_clear -->
+ <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/>
+ </feature>
<feature name='pconfig'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/>
</feature>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
@@ -2,7 +2,7 @@
<cpudata arch='x86'>
<cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7fa3203' edx='0x0f8bfbff'/>
<cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
- <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000000' edx='0x8c000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000000' edx='0x8c000400'/>
<cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000007' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
<cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
</cpudata>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
@@ -20,6 +20,7 @@
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='clflushopt'/>
<feature policy='require' name='intel-pt'/>
+ <feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='xsaves'/>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
@@ -21,6 +21,7 @@
<feature name='tsc_adjust'/>
<feature name='clflushopt'/>
<feature name='intel-pt'/>
+ <feature name='md-clear'/>
<feature name='stibp'/>
<feature name='ssbd'/>
<feature name='xsaves'/>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
@@ -5,6 +5,7 @@
<feature policy='require' name='hypervisor'/>
<feature policy='require' name='tsc_adjust'/>
<feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='ssbd'/>
<feature policy='require' name='pdpe1gb'/>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-guest.xml
@@ -23,6 +23,7 @@
<feature policy='require' name='intel-pt'/>
<feature policy='require' name='pku'/>
<feature policy='require' name='ospke'/>
+ <feature policy='require' name='md-clear'/>
<feature policy='require' name='stibp'/>
<feature policy='require' name='arch-capabilities'/>
<feature policy='require' name='xsaves'/>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
===================================================================
--- libvirt-5.3.0.orig/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-8268-host.xml
@@ -24,6 +24,7 @@
<feature name='intel-pt'/>
<feature name='pku'/>
<feature name='ospke'/>
+ <feature name='md-clear'/>
<feature name='stibp'/>
<feature name='arch-capabilities'/>
<feature name='xsaves'/>

View File

@ -1,847 +0,0 @@
commit 5cd9db3ac11e88846cbcf95fad9f6fae9d880dee
Author: Jiri Denemark <jdenemar@redhat.com>
Date: Fri Apr 5 11:19:30 2019 +0200
cputest: Add data for Intel(R) Xeon(R) CPU E3-1225 v5
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.3.0/tests/cputest.c
===================================================================
--- libvirt-5.3.0.orig/tests/cputest.c
+++ libvirt-5.3.0/tests/cputest.c
@@ -1272,6 +1272,7 @@ mymain(void)
DO_TEST_CPUID(VIR_ARCH_X86_64, "Phenom-B95", JSON_HOST);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Ryzen-7-1800X-Eight-Core", JSON_HOST);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-5110", JSON_NONE);
+ DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1225-v5", JSON_MODELS);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E3-1245-v5", JSON_MODELS);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2609-v3", JSON_MODELS);
DO_TEST_CPUID(VIR_ARCH_X86_64, "Xeon-E5-2623-v4", JSON_MODELS);
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml
@@ -0,0 +1,7 @@
+<!-- Features disabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+</cpudata>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-enabled.xml
@@ -0,0 +1,8 @@
+<!-- Features enabled by QEMU -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0xf7fa3203' edx='0x0f8bfbff'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x00000004' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x009c4fbb' ecx='0x00000000' edx='0x8c000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000007' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
+</cpudata>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml
@@ -0,0 +1,28 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>Skylake-Client-IBRS</model>
+ <vendor>Intel</vendor>
+ <feature policy='require' name='ds'/>
+ <feature policy='require' name='acpi'/>
+ <feature policy='require' name='ss'/>
+ <feature policy='require' name='ht'/>
+ <feature policy='require' name='tm'/>
+ <feature policy='require' name='pbe'/>
+ <feature policy='require' name='dtes64'/>
+ <feature policy='require' name='monitor'/>
+ <feature policy='require' name='ds_cpl'/>
+ <feature policy='require' name='vmx'/>
+ <feature policy='require' name='smx'/>
+ <feature policy='require' name='est'/>
+ <feature policy='require' name='tm2'/>
+ <feature policy='require' name='xtpr'/>
+ <feature policy='require' name='pdcm'/>
+ <feature policy='require' name='osxsave'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='intel-pt'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='xsaves'/>
+ <feature policy='require' name='pdpe1gb'/>
+ <feature policy='require' name='invtsc'/>
+</cpu>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml
@@ -0,0 +1,29 @@
+<cpu>
+ <arch>x86_64</arch>
+ <model>Skylake-Client-IBRS</model>
+ <vendor>Intel</vendor>
+ <feature name='ds'/>
+ <feature name='acpi'/>
+ <feature name='ss'/>
+ <feature name='ht'/>
+ <feature name='tm'/>
+ <feature name='pbe'/>
+ <feature name='dtes64'/>
+ <feature name='monitor'/>
+ <feature name='ds_cpl'/>
+ <feature name='vmx'/>
+ <feature name='smx'/>
+ <feature name='est'/>
+ <feature name='tm2'/>
+ <feature name='xtpr'/>
+ <feature name='pdcm'/>
+ <feature name='osxsave'/>
+ <feature name='tsc_adjust'/>
+ <feature name='clflushopt'/>
+ <feature name='intel-pt'/>
+ <feature name='stibp'/>
+ <feature name='ssbd'/>
+ <feature name='xsaves'/>
+ <feature name='pdpe1gb'/>
+ <feature name='invtsc'/>
+</cpu>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-json.xml
@@ -0,0 +1,11 @@
+<cpu mode='custom' match='exact'>
+ <model fallback='forbid'>Skylake-Client-IBRS</model>
+ <vendor>Intel</vendor>
+ <feature policy='require' name='ss'/>
+ <feature policy='require' name='hypervisor'/>
+ <feature policy='require' name='tsc_adjust'/>
+ <feature policy='require' name='clflushopt'/>
+ <feature policy='require' name='stibp'/>
+ <feature policy='require' name='ssbd'/>
+ <feature policy='require' name='pdpe1gb'/>
+</cpu>
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.json
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.json
@@ -0,0 +1,652 @@
+{
+ "return": {
+ "model": {
+ "name": "base",
+ "props": {
+ "phys-bits": 0,
+ "core-id": -1,
+ "xlevel": 2147483656,
+ "cmov": true,
+ "ia64": false,
+ "aes": true,
+ "mmx": true,
+ "rdpid": false,
+ "arat": true,
+ "gfni": false,
+ "pause-filter": false,
+ "xsavec": true,
+ "intel-pt": false,
+ "osxsave": false,
+ "hv-frequencies": false,
+ "tsc-frequency": 0,
+ "xd": true,
+ "hv-vendor-id": "",
+ "kvm-asyncpf": true,
+ "kvm_asyncpf": true,
+ "perfctr_core": false,
+ "perfctr-core": false,
+ "mpx": true,
+ "pbe": false,
+ "decodeassists": false,
+ "avx512cd": false,
+ "sse4_1": true,
+ "sse4.1": true,
+ "sse4-1": true,
+ "family": 6,
+ "legacy-cache": true,
+ "vmware-cpuid-freq": true,
+ "avx512f": false,
+ "msr": true,
+ "mce": true,
+ "mca": true,
+ "hv-runtime": false,
+ "xcrypt": false,
+ "thread-id": -1,
+ "min-level": 13,
+ "xgetbv1": true,
+ "cid": false,
+ "hv-relaxed": false,
+ "hv-crash": false,
+ "ds": false,
+ "fxsr": true,
+ "xsaveopt": true,
+ "xtpr": false,
+ "avx512vl": false,
+ "avx512-vpopcntdq": false,
+ "phe": false,
+ "extapic": false,
+ "3dnowprefetch": true,
+ "avx512vbmi2": false,
+ "cr8legacy": false,
+ "stibp": true,
+ "cpuid-0xb": true,
+ "xcrypt-en": false,
+ "kvm_pv_eoi": true,
+ "apic-id": 4294967295,
+ "pn": false,
+ "dca": false,
+ "vendor": "GenuineIntel",
+ "pku": false,
+ "smx": false,
+ "cmp_legacy": false,
+ "cmp-legacy": false,
+ "node-id": -1,
+ "avx512-4fmaps": false,
+ "vmcb_clean": false,
+ "vmcb-clean": false,
+ "3dnowext": false,
+ "hle": true,
+ "npt": false,
+ "memory": "/machine/unattached/system[0]",
+ "clwb": false,
+ "lbrv": false,
+ "adx": true,
+ "ss": true,
+ "pni": true,
+ "svm_lock": false,
+ "svm-lock": false,
+ "pfthreshold": false,
+ "smep": true,
+ "smap": true,
+ "x2apic": true,
+ "avx512vbmi": false,
+ "avx512vnni": false,
+ "hv-stimer": false,
+ "i64": true,
+ "flushbyasid": false,
+ "f16c": true,
+ "ace2-en": false,
+ "pat": true,
+ "pae": true,
+ "sse": true,
+ "phe-en": false,
+ "kvm_nopiodelay": true,
+ "kvm-nopiodelay": true,
+ "tm": false,
+ "kvmclock-stable-bit": true,
+ "hypervisor": true,
+ "socket-id": -1,
+ "pcommit": false,
+ "syscall": true,
+ "level": 13,
+ "avx512dq": false,
+ "svm": false,
+ "full-cpuid-auto-level": true,
+ "hv-reset": false,
+ "invtsc": false,
+ "sse3": true,
+ "sse2": true,
+ "ssbd": true,
+ "est": false,
+ "avx512ifma": false,
+ "tm2": false,
+ "kvm-pv-eoi": true,
+ "cx8": true,
+ "kvm_mmu": false,
+ "kvm-mmu": false,
+ "sse4_2": true,
+ "sse4.2": true,
+ "sse4-2": true,
+ "pge": true,
+ "fill-mtrr-mask": true,
+ "avx512bitalg": false,
+ "nodeid_msr": false,
+ "pdcm": false,
+ "movbe": true,
+ "model": 94,
+ "nrip_save": false,
+ "nrip-save": false,
+ "kvm_pv_unhalt": true,
+ "ssse3": true,
+ "sse4a": false,
+ "invpcid": true,
+ "pdpe1gb": true,
+ "tsc-deadline": true,
+ "fma": true,
+ "cx16": true,
+ "de": true,
+ "enforce": false,
+ "stepping": 3,
+ "xsave": true,
+ "clflush": true,
+ "skinit": false,
+ "tsc": true,
+ "tce": false,
+ "fpu": true,
+ "ibs": false,
+ "ds_cpl": false,
+ "ds-cpl": false,
+ "host-phys-bits": true,
+ "fma4": false,
+ "la57": false,
+ "osvw": false,
+ "check": true,
+ "hv-spinlocks": -1,
+ "pmu": false,
+ "pmm": false,
+ "apic": true,
+ "spec-ctrl": true,
+ "min-xlevel2": 0,
+ "tsc-adjust": true,
+ "tsc_adjust": true,
+ "kvm-steal-time": true,
+ "kvm_steal_time": true,
+ "kvmclock": true,
+ "l3-cache": true,
+ "lwp": false,
+ "ibpb": false,
+ "xop": false,
+ "avx": true,
+ "ospke": false,
+ "ace2": false,
+ "avx512bw": false,
+ "acpi": false,
+ "hv-vapic": false,
+ "fsgsbase": true,
+ "ht": false,
+ "nx": true,
+ "pclmulqdq": true,
+ "mmxext": false,
+ "vaes": false,
+ "popcnt": true,
+ "xsaves": false,
+ "tcg-cpuid": true,
+ "lm": true,
+ "umip": false,
+ "pse": true,
+ "avx2": true,
+ "sep": true,
+ "pclmuldq": true,
+ "virt-ssbd": false,
+ "x-hv-max-vps": -1,
+ "nodeid-msr": false,
+ "md-clear": true,
+ "kvm": true,
+ "misalignsse": false,
+ "min-xlevel": 2147483656,
+ "kvm-pv-unhalt": true,
+ "bmi2": true,
+ "bmi1": true,
+ "realized": false,
+ "tsc_scale": false,
+ "tsc-scale": false,
+ "topoext": false,
+ "hv-vpindex": false,
+ "xlevel2": 0,
+ "clflushopt": true,
+ "kvm-no-smi-migration": false,
+ "monitor": false,
+ "avx512er": false,
+ "pmm-en": false,
+ "pcid": true,
+ "3dnow": false,
+ "erms": true,
+ "lahf-lm": true,
+ "lahf_lm": true,
+ "vpclmulqdq": false,
+ "fxsr-opt": false,
+ "hv-synic": false,
+ "xstore": false,
+ "fxsr_opt": false,
+ "kvm-hint-dedicated": false,
+ "rtm": true,
+ "lmce": true,
+ "hv-time": false,
+ "perfctr-nb": false,
+ "perfctr_nb": false,
+ "ffxsr": false,
+ "rdrand": true,
+ "rdseed": true,
+ "avx512-4vnniw": false,
+ "vmx": false,
+ "vme": true,
+ "dtes64": false,
+ "mtrr": true,
+ "rdtscp": true,
+ "pse36": true,
+ "kvm-pv-tlb-flush": false,
+ "tbm": false,
+ "wdt": false,
+ "pause_filter": false,
+ "sha-ni": false,
+ "model-id": "Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz",
+ "abm": true,
+ "avx512pf": false,
+ "xstore-en": false
+ }
+ }
+ },
+ "id": "model-expansion"
+}
+
+{
+ "return": [
+ {
+ "name": "max",
+ "typename": "max-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "host",
+ "typename": "host-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": false
+ },
+ {
+ "name": "base",
+ "typename": "base-x86_64-cpu",
+ "unavailable-features": [],
+ "static": true,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu64",
+ "typename": "qemu64-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "qemu32",
+ "typename": "qemu32-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "phenom",
+ "typename": "phenom-x86_64-cpu",
+ "unavailable-features": [
+ "mmxext",
+ "fxsr-opt",
+ "3dnowext",
+ "3dnow",
+ "sse4a",
+ "npt"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium3",
+ "typename": "pentium3-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium2",
+ "typename": "pentium2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "pentium",
+ "typename": "pentium-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "n270",
+ "typename": "n270-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm64",
+ "typename": "kvm64-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "kvm32",
+ "typename": "kvm32-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "cpu64-rhel6",
+ "typename": "cpu64-rhel6-x86_64-cpu",
+ "unavailable-features": [
+ "sse4a"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "coreduo",
+ "typename": "coreduo-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "core2duo",
+ "typename": "core2duo-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "athlon",
+ "typename": "athlon-x86_64-cpu",
+ "unavailable-features": [
+ "mmxext",
+ "3dnowext",
+ "3dnow"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere",
+ "typename": "Westmere-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Westmere-IBRS",
+ "typename": "Westmere-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server",
+ "typename": "Skylake-Server-x86_64-cpu",
+ "unavailable-features": [
+ "avx512f",
+ "avx512dq",
+ "clwb",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Server-IBRS",
+ "typename": "Skylake-Server-IBRS-x86_64-cpu",
+ "unavailable-features": [
+ "avx512f",
+ "avx512dq",
+ "clwb",
+ "avx512cd",
+ "avx512bw",
+ "avx512vl",
+ "avx512f",
+ "avx512f",
+ "avx512f"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client",
+ "typename": "Skylake-Client-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Skylake-Client-IBRS",
+ "typename": "Skylake-Client-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge",
+ "typename": "SandyBridge-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "SandyBridge-IBRS",
+ "typename": "SandyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Penryn",
+ "typename": "Penryn-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G5",
+ "typename": "Opteron_G5-x86_64-cpu",
+ "unavailable-features": [
+ "sse4a",
+ "misalignsse",
+ "xop",
+ "fma4",
+ "tbm"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G4",
+ "typename": "Opteron_G4-x86_64-cpu",
+ "unavailable-features": [
+ "sse4a",
+ "misalignsse",
+ "xop",
+ "fma4"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G3",
+ "typename": "Opteron_G3-x86_64-cpu",
+ "unavailable-features": [
+ "sse4a",
+ "misalignsse"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G2",
+ "typename": "Opteron_G2-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Opteron_G1",
+ "typename": "Opteron_G1-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem",
+ "typename": "Nehalem-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Nehalem-IBRS",
+ "typename": "Nehalem-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge",
+ "typename": "IvyBridge-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "IvyBridge-IBRS",
+ "typename": "IvyBridge-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell",
+ "typename": "Haswell-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-noTSX",
+ "typename": "Haswell-noTSX-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-noTSX-IBRS",
+ "typename": "Haswell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Haswell-IBRS",
+ "typename": "Haswell-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC",
+ "typename": "EPYC-x86_64-cpu",
+ "unavailable-features": [
+ "sha-ni",
+ "mmxext",
+ "fxsr-opt",
+ "cr8legacy",
+ "sse4a",
+ "misalignsse",
+ "osvw"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "EPYC-IBPB",
+ "typename": "EPYC-IBPB-x86_64-cpu",
+ "unavailable-features": [
+ "sha-ni",
+ "mmxext",
+ "fxsr-opt",
+ "cr8legacy",
+ "sse4a",
+ "misalignsse",
+ "osvw",
+ "ibpb"
+ ],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Conroe",
+ "typename": "Conroe-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell",
+ "typename": "Broadwell-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-noTSX",
+ "typename": "Broadwell-noTSX-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-noTSX-IBRS",
+ "typename": "Broadwell-noTSX-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "Broadwell-IBRS",
+ "typename": "Broadwell-IBRS-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ },
+ {
+ "name": "486",
+ "typename": "486-x86_64-cpu",
+ "unavailable-features": [],
+ "static": false,
+ "migration-safe": true
+ }
+ ],
+ "id": "definitions"
+}
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.sig
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.sig
@@ -0,0 +1,4 @@
+0506e3
+family: 6 (0x06)
+model: 94 (0x5e)
+stepping: 3 (0x03)
Index: libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.xml
===================================================================
--- /dev/null
+++ libvirt-5.3.0/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5.xml
@@ -0,0 +1,47 @@
+<!-- Intel(R) Xeon(R) CPU E3-1225 v5 @ 3.30GHz -->
+<cpudata arch='x86'>
+ <cpuid eax_in='0x00000000' ecx_in='0x00' eax='0x00000016' ebx='0x756e6547' ecx='0x6c65746e' edx='0x49656e69'/>
+ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x000506e3' ebx='0x06100800' ecx='0x7ffafbff' edx='0xbfebfbff'/>
+ <cpuid eax_in='0x00000002' ecx_in='0x00' eax='0x76036301' ebx='0x00f0b6ff' ecx='0x00000000' edx='0x00c30000'/>
+ <cpuid eax_in='0x00000003' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000004' ecx_in='0x00' eax='0x1c004121' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x00000004' ecx_in='0x01' eax='0x1c004122' ebx='0x01c0003f' ecx='0x0000003f' edx='0x00000000'/>
+ <cpuid eax_in='0x00000004' ecx_in='0x02' eax='0x1c004143' ebx='0x00c0003f' ecx='0x000003ff' edx='0x00000000'/>
+ <cpuid eax_in='0x00000004' ecx_in='0x03' eax='0x1c03c163' ebx='0x03c0003f' ecx='0x00001fff' edx='0x00000006'/>
+ <cpuid eax_in='0x00000005' ecx_in='0x00' eax='0x00000040' ebx='0x00000040' ecx='0x00000003' edx='0x00142120'/>
+ <cpuid eax_in='0x00000006' ecx_in='0x00' eax='0x000027f7' ebx='0x00000002' ecx='0x00000009' edx='0x00000000'/>
+ <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x029c6fbf' ecx='0x00000000' edx='0x9c002400'/>
+ <cpuid eax_in='0x00000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000009' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000a' ecx_in='0x00' eax='0x07300804' ebx='0x00000000' ecx='0x00000000' edx='0x00000603'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x00' eax='0x00000001' ebx='0x00000001' ecx='0x00000100' edx='0x00000006'/>
+ <cpuid eax_in='0x0000000b' ecx_in='0x01' eax='0x00000004' ebx='0x00000004' ecx='0x00000201' edx='0x00000006'/>
+ <cpuid eax_in='0x0000000c' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x00' eax='0x0000001f' ebx='0x00000440' ecx='0x00000440' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x0000000f' ebx='0x000003c0' ecx='0x00000100' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x02' eax='0x00000100' ebx='0x00000240' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x03' eax='0x00000040' ebx='0x000003c0' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x04' eax='0x00000040' ebx='0x00000400' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000d' ecx_in='0x08' eax='0x00000080' ebx='0x00000000' ecx='0x00000001' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000e' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x0000000f' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000010' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000011' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000012' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000013' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000014' ecx_in='0x00' eax='0x00000001' ebx='0x0000000f' ecx='0x00000007' edx='0x00000000'/>
+ <cpuid eax_in='0x00000014' ecx_in='0x01' eax='0x02490002' ebx='0x003f3fff' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000015' ecx_in='0x00' eax='0x00000002' ebx='0x00000114' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x00000016' ecx_in='0x00' eax='0x00000ce4' ebx='0x00000e74' ecx='0x00000064' edx='0x00000000'/>
+ <cpuid eax_in='0x80000000' ecx_in='0x00' eax='0x80000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000121' edx='0x2c100800'/>
+ <cpuid eax_in='0x80000002' ecx_in='0x00' eax='0x65746e49' ebx='0x2952286c' ecx='0x6f655820' edx='0x2952286e'/>
+ <cpuid eax_in='0x80000003' ecx_in='0x00' eax='0x55504320' ebx='0x2d334520' ecx='0x35323231' edx='0x20357620'/>
+ <cpuid eax_in='0x80000004' ecx_in='0x00' eax='0x2e332040' ebx='0x48473033' ecx='0x0000007a' edx='0x00000000'/>
+ <cpuid eax_in='0x80000005' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80000006' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01006040' edx='0x00000000'/>
+ <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/>
+ <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00003027' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/>
+ <cpuid eax_in='0x80860000' ecx_in='0x00' eax='0x00000ce4' ebx='0x00000e74' ecx='0x00000064' edx='0x00000000'/>
+ <cpuid eax_in='0xc0000000' ecx_in='0x00' eax='0x00000ce4' ebx='0x00000e74' ecx='0x00000064' edx='0x00000000'/>
+</cpudata>

View File

@ -1,48 +0,0 @@
commit 96f41cd765c9e525fe28ee5abbfbf4a79b3720c7
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Tue Apr 30 17:26:13 2019 +0100
admin: reject clients unless their UID matches the current UID
The admin protocol RPC messages are only intended for use by the user
running the daemon. As such they should not be allowed for any client
UID that does not match the server UID.
Fixes CVE-2019-10132
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.3.0/src/admin/admin_server_dispatch.c
===================================================================
--- libvirt-5.3.0.orig/src/admin/admin_server_dispatch.c
+++ libvirt-5.3.0/src/admin/admin_server_dispatch.c
@@ -64,6 +64,28 @@ remoteAdmClientNew(virNetServerClientPtr
void *opaque)
{
struct daemonAdmClientPrivate *priv;
+ uid_t clientuid;
+ gid_t clientgid;
+ pid_t clientpid;
+ unsigned long long timestamp;
+
+ if (virNetServerClientGetUNIXIdentity(client,
+ &clientuid,
+ &clientgid,
+ &clientpid,
+ &timestamp) < 0)
+ return NULL;
+
+ VIR_DEBUG("New client pid %lld uid %lld",
+ (long long)clientpid,
+ (long long)clientuid);
+
+ if (geteuid() != clientuid) {
+ virReportRestrictedError(_("Disallowing client %lld with uid %lld"),
+ (long long)clientpid,
+ (long long)clientuid);
+ return NULL;
+ }
if (VIR_ALLOC(priv) < 0)
return NULL;

View File

@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu <cyliu@suse.com>
src/qemu/qemu_driver.c | 7 +++++++
1 file changed, 7 insertions(+)
Index: libvirt-5.3.0/src/qemu/qemu_driver.c
Index: libvirt-5.4.0/src/qemu/qemu_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.3.0/src/qemu/qemu_driver.c
@@ -17692,6 +17692,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
--- libvirt-5.4.0.orig/src/qemu/qemu_driver.c
+++ libvirt-5.4.0/src/qemu/qemu_driver.c
@@ -17719,6 +17719,14 @@ qemuDomainBlockCopyCommon(virDomainObjPt
goto endjob;
}

View File

@ -1,41 +0,0 @@
commit e37bd65f9948c1185456b2cdaa3bd6e875af680f
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Tue Apr 30 17:27:41 2019 +0100
logging: restrict sockets to mode 0600
The virtlogd daemon's only intended client is the libvirtd daemon. As
such it should never allow clients from other user accounts to connect.
The code already enforces this and drops clients from other UIDs, but
we can get earlier (and thus stronger) protection against DoS by setting
the socket permissions to 0600
Fixes CVE-2019-10132
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.3.0/src/logging/virtlogd-admin.socket.in
===================================================================
--- libvirt-5.3.0.orig/src/logging/virtlogd-admin.socket.in
+++ libvirt-5.3.0/src/logging/virtlogd-admin.socket.in
@@ -5,6 +5,7 @@ Before=libvirtd.service
[Socket]
ListenStream=@localstatedir@/run/libvirt/virtlogd-admin-sock
Service=virtlogd.service
+SocketMode=0600
[Install]
WantedBy=sockets.target
Index: libvirt-5.3.0/src/logging/virtlogd.socket.in
===================================================================
--- libvirt-5.3.0.orig/src/logging/virtlogd.socket.in
+++ libvirt-5.3.0/src/logging/virtlogd.socket.in
@@ -4,6 +4,7 @@ Before=libvirtd.service
[Socket]
ListenStream=@localstatedir@/run/libvirt/virtlogd-sock
+SocketMode=0600
[Install]
WantedBy=sockets.target

View File

@ -1,41 +0,0 @@
commit f111e09468693909b1f067aa575efdafd9a262a1
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: Tue Apr 30 16:51:37 2019 +0100
locking: restrict sockets to mode 0600
The virtlockd daemon's only intended client is the libvirtd daemon. As
such it should never allow clients from other user accounts to connect.
The code already enforces this and drops clients from other UIDs, but
we can get earlier (and thus stronger) protection against DoS by setting
the socket permissions to 0600
Fixes CVE-2019-10132
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Index: libvirt-5.3.0/src/locking/virtlockd-admin.socket.in
===================================================================
--- libvirt-5.3.0.orig/src/locking/virtlockd-admin.socket.in
+++ libvirt-5.3.0/src/locking/virtlockd-admin.socket.in
@@ -5,6 +5,7 @@ Before=libvirtd.service
[Socket]
ListenStream=@localstatedir@/run/libvirt/virtlockd-admin-sock
Service=virtlockd.service
+SocketMode=0600
[Install]
WantedBy=sockets.target
Index: libvirt-5.3.0/src/locking/virtlockd.socket.in
===================================================================
--- libvirt-5.3.0.orig/src/locking/virtlockd.socket.in
+++ libvirt-5.3.0/src/locking/virtlockd.socket.in
@@ -4,6 +4,7 @@ Before=libvirtd.service
[Socket]
ListenStream=@localstatedir@/run/libvirt/virtlockd-sock
+SocketMode=0600
[Install]
WantedBy=sockets.target

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8564bdd506817b3957fa67e4f06b217922d30f19e416c4dc620995fd155dc101
size 12201620

View File

@ -1,10 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJczdP/AAoJEBVYiyZZa+pdZ4QH/09HyqoXeIxhAePbFU2qKXC0
AUxcag95/R/faI6gEoZQ9nGDYYU8HyD8bhoAeNSBDnbUp3Pco7ibyrNxR/C+42QW
Uy6arepoAmx33Gti1U9KuBWojlJYuemBsAf+DWc60QFEh9YuqhylKPiPS7bhrijX
oed21J0hCRnpurqO1YUTnqXW4Mlp6c8A9pB4+MLBJX0wTPqwUlxUrjR++iLgF6J+
Gimmm0ivUu7/3eyKNZgVHj1Ury/PKq54pObEKRzQZKWBc/WsZbFjL/efz2DmDWEo
HKVx4eFWb0IhmqWz7LmZWC2eK07n/6s1oPWNpO3ZPoLxOt2vLB4U3jQjbO/yhBg=
=sc9o
-----END PGP SIGNATURE-----

3
libvirt-5.4.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cfa802081bee09fd0ddfa97bd491e6554e25fa59f7a7758b41d8aef53458e7b
size 12346896

10
libvirt-5.4.0.tar.xz.asc Normal file
View File

@ -0,0 +1,10 @@
-----BEGIN PGP SIGNATURE-----
iQEcBAABAgAGBQJc9TFvAAoJEBVYiyZZa+pdxuEH/3y3Xl0gwzvHMLPcDa27ZgCW
GMDRrZjifnRPWyr+VIM2JrW16vquM2iSayRR2UHHJxK0nDHReyZlbVmShEmQk32P
HAmOZB8P4aITe+CGso93OgbeBNOYpNfIConZxnYUYVXgMnzlZcKsL7AiN8FjdAwm
24RoUv4gokk+17RDmo6WgfFkT7FiUG/VbggE7TmS63v+HKaszAQsgCsIiceAFynA
Qwz3ziVHt3yEEWy+hReM+Hyc8A1NUgZG6ph2+xZYhXh0n1Bs3SWlVQOkU5EtEKbI
x51Wvkifpe6ziGWTCPtvV7Fq4wmkKeigZirUlSVYKGsU5WFDN93y/CPnvG4e4+U=
=ZbeC
-----END PGP SIGNATURE-----

View File

@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
From: <ro@suse.de>
Index: libvirt-5.3.0/src/cpu_map/ppc64_POWER8.xml
Index: libvirt-5.4.0/src/cpu_map/ppc64_POWER8.xml
===================================================================
--- libvirt-5.3.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-5.3.0/src/cpu_map/ppc64_POWER8.xml
--- libvirt-5.4.0.orig/src/cpu_map/ppc64_POWER8.xml
+++ libvirt-5.4.0/src/cpu_map/ppc64_POWER8.xml
@@ -4,5 +4,7 @@
<pvr value='0x004b0000' mask='0xffff0000'/>
<pvr value='0x004c0000' mask='0xffff0000'/>

View File

@ -1,7 +1,7 @@
Index: libvirt-5.3.0/configure.ac
Index: libvirt-5.4.0/configure.ac
===================================================================
--- libvirt-5.3.0.orig/configure.ac
+++ libvirt-5.3.0/configure.ac
--- libvirt-5.4.0.orig/configure.ac
+++ libvirt-5.4.0/configure.ac
@@ -262,6 +262,7 @@ LIBVIRT_ARG_LIBSSH
LIBVIRT_ARG_LIBXML
LIBVIRT_ARG_MACVTAP
@ -18,7 +18,7 @@ Index: libvirt-5.3.0/configure.ac
LIBVIRT_CHECK_NLS
LIBVIRT_CHECK_NUMACTL
LIBVIRT_CHECK_NWFILTER
@@ -1004,6 +1006,7 @@ LIBVIRT_RESULT_LIBXL
@@ -991,6 +993,7 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_LIBXML
LIBVIRT_RESULT_MACVTAP
LIBVIRT_RESULT_NETCF
@ -26,10 +26,10 @@ Index: libvirt-5.3.0/configure.ac
LIBVIRT_RESULT_NLS
LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_NUMACTL
Index: libvirt-5.3.0/tools/virsh.c
Index: libvirt-5.4.0/tools/virsh.c
===================================================================
--- libvirt-5.3.0.orig/tools/virsh.c
+++ libvirt-5.3.0/tools/virsh.c
--- libvirt-5.4.0.orig/tools/virsh.c
+++ libvirt-5.4.0/tools/virsh.c
@@ -563,6 +563,8 @@ virshShowVersion(vshControl *ctl ATTRIBU
vshPrint(ctl, " Interface");
# if defined(WITH_NETCF)
@ -39,10 +39,10 @@ Index: libvirt-5.3.0/tools/virsh.c
# elif defined(WITH_UDEV)
vshPrint(ctl, " udev");
# endif
Index: libvirt-5.3.0/src/interface/interface_backend_netcf.c
Index: libvirt-5.4.0/src/interface/interface_backend_netcf.c
===================================================================
--- libvirt-5.3.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-5.3.0/src/interface/interface_backend_netcf.c
--- libvirt-5.4.0.orig/src/interface/interface_backend_netcf.c
+++ libvirt-5.4.0/src/interface/interface_backend_netcf.c
@@ -21,7 +21,12 @@
#include <config.h>
@ -126,10 +126,10 @@ Index: libvirt-5.3.0/src/interface/interface_backend_netcf.c
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
return -1;
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
Index: libvirt-5.3.0/src/interface/interface_driver.c
Index: libvirt-5.4.0/src/interface/interface_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/interface/interface_driver.c
+++ libvirt-5.3.0/src/interface/interface_driver.c
--- libvirt-5.4.0.orig/src/interface/interface_driver.c
+++ libvirt-5.4.0/src/interface/interface_driver.c
@@ -30,8 +30,15 @@ interfaceRegister(void)
if (netcfIfaceRegister() == 0)
return 0;
@ -147,10 +147,10 @@ Index: libvirt-5.3.0/src/interface/interface_driver.c
if (udevIfaceRegister() == 0)
return 0;
#endif /* WITH_UDEV */
Index: libvirt-5.3.0/m4/virt-netcontrol.m4
Index: libvirt-5.4.0/m4/virt-netcontrol.m4
===================================================================
--- /dev/null
+++ libvirt-5.3.0/m4/virt-netcontrol.m4
+++ libvirt-5.4.0/m4/virt-netcontrol.m4
@@ -0,0 +1,39 @@
+dnl The libnetcontrol library
+dnl
@ -191,10 +191,10 @@ Index: libvirt-5.3.0/m4/virt-netcontrol.m4
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
+ LIBVIRT_RESULT_LIB([NETCONTROL])
+])
Index: libvirt-5.3.0/src/interface/Makefile.inc.am
Index: libvirt-5.4.0/src/interface/Makefile.inc.am
===================================================================
--- libvirt-5.3.0.orig/src/interface/Makefile.inc.am
+++ libvirt-5.3.0/src/interface/Makefile.inc.am
--- libvirt-5.4.0.orig/src/interface/Makefile.inc.am
+++ libvirt-5.4.0/src/interface/Makefile.inc.am
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
$(NULL)

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Mon Jun 3 17:05:52 UTC 2019 - Jim Fehlig <jfehlig@suse.com>
- Update to libvirt 5.4.0
- Many incremental improvements and bug fixes, see
http://libvirt.org/news.html
- Dropped patches:
5cd9db3a-cputest-add-data-E3-1225-v5.patch,
538d8735-cpu_map-Define-md-clear-CPUID-bit.patch,
96f41cd7-admin-reject-clients.patch,
f111e094-locking-restrict-sockets-to-mode-0600.patch,
e37bd65f-logging-restrict-sockets-to-mode-0600.patch,
76b420d0-build-libqemutestdriver-lto-fix.patch
-------------------------------------------------------------------
Thu May 30 16:08:06 UTC 2019 - James Fehlig <jfehlig@suse.com>
- build: fix linking libqemutestdriver with LTO enabled
76b420d0-build-libqemutestdriver-lto-fix.patch
boo#1133253
-------------------------------------------------------------------
Thu May 30 06:58:30 UTC 2019 - Martin Liška <mliska@suse.cz>
- Use %make_build in order to provide verbose output.
-------------------------------------------------------------------
Thu May 23 17:07:21 UTC 2019 - Jim Fehlig <jfehlig@suse.com>

View File

@ -183,7 +183,7 @@
Name: libvirt
Url: http://libvirt.org/
Version: 5.3.0
Version: 5.4.0
Release: 0
Summary: Library providing a virtualization API
License: LGPL-2.1-or-later
@ -337,11 +337,6 @@ Source6: libvirtd-relocation-server.xml
Source99: baselibs.conf
Source100: %{name}-rpmlintrc
# Upstream patches
Patch0: 5cd9db3a-cputest-add-data-E3-1225-v5.patch
Patch1: 538d8735-cpu_map-Define-md-clear-CPUID-bit.patch
Patch2: 96f41cd7-admin-reject-clients.patch
Patch3: f111e094-locking-restrict-sockets-to-mode-0600.patch
Patch4: e37bd65f-logging-restrict-sockets-to-mode-0600.patch
# Patches pending upstream review
Patch100: libxl-dom-reset.patch
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
@ -666,9 +661,6 @@ Summary: Qemu driver plugin for the libvirtd daemon
Group: System/Management
Requires: %{name}-daemon = %{version}-%{release}
Requires: %{name}-libs = %{version}-%{release}
# There really is a hard cross-driver dependency here
Requires: %{name}-daemon-driver-network = %{version}-%{release}
Requires: %{name}-daemon-driver-storage-core = %{version}-%{release}
Requires: /usr/bin/qemu-img
# For image compression
Requires: bzip2
@ -877,11 +869,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch100 -p1
%patch101 -p1
%patch150 -p1
@ -1100,12 +1087,11 @@ export PYTHON=%{_bindir}/python3
ac_cv_path_SHOWMOUNT=/usr/sbin/showmount \
ac_cv_path_PARTED=/usr/sbin/parted \
ac_cv_path_QEMU_BRIDGE_HELPER=/usr/lib/qemu-bridge-helper
make V=1 %{?_smp_mflags} HTML_DIR=%{_docdir}/%{name}
%make_build HTML_DIR=%{_docdir}/%{name}
gzip -9 ChangeLog
%install
%make_install SYSTEMD_UNIT_DIR=%{_unitdir} HTML_DIR=%{_docdir}/%{name}
make %{?_smp_mflags} -C examples distclean
cp examples/lxcconvert/virt-lxc-convert %{buildroot}/%{_bindir}
rm -f %{buildroot}/%{_libdir}/*.la
%if %{with_wireshark}
@ -1244,9 +1230,9 @@ do
rm -f $i
printf 'int main(void) { return 0; }' > $i.c
done
make %{?_smp_mflags}
%make_build
if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1
if ! %make_build check VIR_TEST_DEBUG=1
then
cat test-suite.log || true
exit 1
@ -1307,6 +1293,8 @@ if test $1 -eq 1 && test ! -f %{_sysconfdir}/%{name}/qemu/networks/default.xml ;
sed -e "s,</name>,</name>\n <uuid>$UUID</uuid>," \
< %{_datadir}/%{name}/networks/default.xml \
> %{_sysconfdir}/%{name}/qemu/networks/default.xml
# libvirt saves this file with mode 0600
chmod 0600 %{_sysconfdir}/libvirt/qemu/networks/default.xml
fi
%pre client
@ -1685,6 +1673,9 @@ fi
%doc %{_docdir}/%{name}/logos
%doc %{_docdir}/%{name}/fonts
%doc %{_docdir}/%{name}/js
%dir %{_datadir}/doc/%{name}
%dir %{_datadir}/doc/%{name}/examples
%doc %{_datadir}/doc/%{name}/examples/*
# API docs
%dir %{_datadir}/gtk-doc/html/%{name}/
@ -1707,7 +1698,7 @@ fi
%dir %{_datadir}/augeas/lenses/tests
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
%dir %attr(0700, root, root) %{_localstatedir}/lib/%{name}/sanlock
%dir %attr(0700, root, sanlock) %{_localstatedir}/lib/%{name}/sanlock
%{_sbindir}/virt-sanlock-cleanup
%attr(0755, root, root) %{_libdir}/%{name}/libvirt_sanlock_helper
%endif

View File

@ -8,10 +8,10 @@ Date: Mon Jun 23 15:51:20 2014 -0600
option, but domainReset can be implemented in the libxl driver by
forcibly destroying the domain and starting it again.
Index: libvirt-5.3.0/src/libxl/libxl_driver.c
Index: libvirt-5.4.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.3.0/src/libxl/libxl_driver.c
--- libvirt-5.4.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.4.0/src/libxl/libxl_driver.c
@@ -1343,6 +1343,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
}

View File

@ -3,10 +3,10 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
Index: libvirt-5.3.0/src/libxl/libxl_conf.c
Index: libvirt-5.4.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.3.0/src/libxl/libxl_conf.c
--- libvirt-5.4.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.4.0/src/libxl/libxl_conf.c
@@ -897,6 +897,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}

View File

@ -16,11 +16,11 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
tools/virsh.pod | 8 ++++++++
6 files changed, 125 insertions(+), 6 deletions(-)
Index: libvirt-5.3.0/include/libvirt/libvirt-domain.h
Index: libvirt-5.4.0/include/libvirt/libvirt-domain.h
===================================================================
--- libvirt-5.3.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-5.3.0/include/libvirt/libvirt-domain.h
@@ -1039,6 +1039,31 @@ typedef enum {
--- libvirt-5.4.0.orig/include/libvirt/libvirt-domain.h
+++ libvirt-5.4.0/include/libvirt/libvirt-domain.h
@@ -1051,6 +1051,31 @@ typedef enum {
*/
# define VIR_MIGRATE_PARAM_PARALLEL_CONNECTIONS "parallel.connections"
@ -52,10 +52,10 @@ Index: libvirt-5.3.0/include/libvirt/libvirt-domain.h
/* Domain migration. */
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
unsigned long flags, const char *dname,
Index: libvirt-5.3.0/src/libxl/libxl_driver.c
Index: libvirt-5.4.0/src/libxl/libxl_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.3.0/src/libxl/libxl_driver.c
--- libvirt-5.4.0.orig/src/libxl/libxl_driver.c
+++ libvirt-5.4.0/src/libxl/libxl_driver.c
@@ -6132,6 +6132,9 @@ libxlDomainMigratePerform3Params(virDoma
const char *dname = NULL;
const char *uri = NULL;
@ -99,10 +99,10 @@ Index: libvirt-5.3.0/src/libxl/libxl_driver.c
goto cleanup;
}
Index: libvirt-5.3.0/src/libxl/libxl_migration.c
Index: libvirt-5.4.0/src/libxl/libxl_migration.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_migration.c
+++ libvirt-5.3.0/src/libxl/libxl_migration.c
--- libvirt-5.4.0.orig/src/libxl/libxl_migration.c
+++ libvirt-5.4.0/src/libxl/libxl_migration.c
@@ -342,18 +342,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
static int
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
@ -264,10 +264,10 @@ Index: libvirt-5.3.0/src/libxl/libxl_migration.c
virObjectLock(vm);
if (ret < 0) {
Index: libvirt-5.3.0/src/libxl/libxl_migration.h
Index: libvirt-5.4.0/src/libxl/libxl_migration.h
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_migration.h
+++ libvirt-5.3.0/src/libxl/libxl_migration.h
--- libvirt-5.4.0.orig/src/libxl/libxl_migration.h
+++ libvirt-5.4.0/src/libxl/libxl_migration.h
@@ -36,6 +36,10 @@
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
@ -312,10 +312,10 @@ Index: libvirt-5.3.0/src/libxl/libxl_migration.h
virDomainPtr
libxlDomainMigrationDstFinish(virConnectPtr dconn,
Index: libvirt-5.3.0/tools/virsh-domain.c
Index: libvirt-5.4.0/tools/virsh-domain.c
===================================================================
--- libvirt-5.3.0.orig/tools/virsh-domain.c
+++ libvirt-5.3.0/tools/virsh-domain.c
--- libvirt-5.4.0.orig/tools/virsh-domain.c
+++ libvirt-5.4.0/tools/virsh-domain.c
@@ -10576,6 +10576,22 @@ static const vshCmdOptDef opts_migrate[]
.type = VSH_OT_INT,
.help = N_("number of connections for parallel migration")
@ -375,11 +375,11 @@ Index: libvirt-5.3.0/tools/virsh-domain.c
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
goto out;
if (opt) {
Index: libvirt-5.3.0/tools/virsh.pod
Index: libvirt-5.4.0/tools/virsh.pod
===================================================================
--- libvirt-5.3.0.orig/tools/virsh.pod
+++ libvirt-5.3.0/tools/virsh.pod
@@ -2015,6 +2015,14 @@ I<--parallel-connections>. Parallel conn
--- libvirt-5.4.0.orig/tools/virsh.pod
+++ libvirt-5.4.0/tools/virsh.pod
@@ -2019,6 +2019,14 @@ I<--parallel-connections>. Parallel conn
network link between the source and the target and thus speeding up the
migration.

View File

@ -7,10 +7,10 @@ and npiv.
For more details, see bsc#954872 and FATE#319810
Index: libvirt-5.3.0/src/libxl/libxl_conf.c
Index: libvirt-5.4.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.3.0/src/libxl/libxl_conf.c
--- libvirt-5.4.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.4.0/src/libxl/libxl_conf.c
@@ -897,6 +897,25 @@ libxlDiskSetDiscard(libxl_device_disk *x
#endif
}

View File

@ -13,10 +13,10 @@ device with the same name that is being created.
src/lxc/lxc_process.c | 1 +
3 files changed, 4 insertions(+)
Index: libvirt-5.3.0/src/lxc/lxc_controller.c
Index: libvirt-5.4.0/src/lxc/lxc_controller.c
===================================================================
--- libvirt-5.3.0.orig/src/lxc/lxc_controller.c
+++ libvirt-5.3.0/src/lxc/lxc_controller.c
--- libvirt-5.4.0.orig/src/lxc/lxc_controller.c
+++ libvirt-5.4.0/src/lxc/lxc_controller.c
@@ -69,6 +69,7 @@
#include "rpc/virnetdaemon.h"
#include "virstring.h"
@ -33,10 +33,10 @@ Index: libvirt-5.3.0/src/lxc/lxc_controller.c
return ret;
}
Index: libvirt-5.3.0/src/lxc/lxc_driver.c
Index: libvirt-5.4.0/src/lxc/lxc_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.3.0/src/lxc/lxc_driver.c
--- libvirt-5.4.0.orig/src/lxc/lxc_driver.c
+++ libvirt-5.4.0/src/lxc/lxc_driver.c
@@ -70,6 +70,7 @@
#include "virtime.h"
#include "virtypedparam.h"
@ -61,10 +61,10 @@ Index: libvirt-5.3.0/src/lxc/lxc_driver.c
break;
/* It'd be nice to support this, but with macvlan
Index: libvirt-5.3.0/src/lxc/lxc_process.c
Index: libvirt-5.4.0/src/lxc/lxc_process.c
===================================================================
--- libvirt-5.3.0.orig/src/lxc/lxc_process.c
+++ libvirt-5.3.0/src/lxc/lxc_process.c
--- libvirt-5.4.0.orig/src/lxc/lxc_process.c
+++ libvirt-5.4.0/src/lxc/lxc_process.c
@@ -51,6 +51,7 @@
#include "viratomic.h"
#include "virprocess.h"

View File

@ -17,10 +17,10 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
2 files changed, 8 insertions(+), 2 deletions(-)
Index: libvirt-5.3.0/src/network/bridge_driver.c
Index: libvirt-5.4.0/src/network/bridge_driver.c
===================================================================
--- libvirt-5.3.0.orig/src/network/bridge_driver.c
+++ libvirt-5.3.0/src/network/bridge_driver.c
--- libvirt-5.4.0.orig/src/network/bridge_driver.c
+++ libvirt-5.4.0/src/network/bridge_driver.c
@@ -1388,7 +1388,14 @@ networkDnsmasqConfContents(virNetworkObj
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
if (ipdef->nranges || ipdef->nhosts) {
@ -37,10 +37,10 @@ Index: libvirt-5.3.0/src/network/bridge_driver.c
}
if (ipdef->tftproot) {
Index: libvirt-5.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
Index: libvirt-5.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
===================================================================
--- libvirt-5.3.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-5.3.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
--- libvirt-5.4.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ libvirt-5.4.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -10,7 +10,6 @@ bind-dynamic
interface=virbr1
dhcp-range=192.168.122.1,static

View File

@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64
See bnc#894956
Index: libvirt-5.3.0/src/util/virarch.c
Index: libvirt-5.4.0/src/util/virarch.c
===================================================================
--- libvirt-5.3.0.orig/src/util/virarch.c
+++ libvirt-5.3.0/src/util/virarch.c
--- libvirt-5.4.0.orig/src/util/virarch.c
+++ libvirt-5.4.0/src/util/virarch.c
@@ -172,6 +172,8 @@ virArch virArchFromHost(void)
arch = VIR_ARCH_I686;
} else if (STREQ(ut.machine, "amd64")) {

View File

@ -1,7 +1,7 @@
Index: libvirt-5.3.0/src/security/apparmor/libvirt-qemu
Index: libvirt-5.4.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-5.3.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.3.0/src/security/apparmor/libvirt-qemu
--- libvirt-5.4.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.4.0/src/security/apparmor/libvirt-qemu
@@ -227,3 +227,6 @@
# required for sasl GSSAPI plugin
/etc/gss/mech.d/ r,

View File

@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver
src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 15 deletions(-)
Index: libvirt-5.3.0/src/xenconfig/xen_common.c
Index: libvirt-5.4.0/src/xenconfig/xen_common.c
===================================================================
--- libvirt-5.3.0.orig/src/xenconfig/xen_common.c
+++ libvirt-5.3.0/src/xenconfig/xen_common.c
--- libvirt-5.4.0.orig/src/xenconfig/xen_common.c
+++ libvirt-5.4.0/src/xenconfig/xen_common.c
@@ -386,12 +386,19 @@ xenParsePCI(char *entry)
int busID;
int slotID;
@ -64,10 +64,10 @@ Index: libvirt-5.3.0/src/xenconfig/xen_common.c
hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
hostdev->source.subsys.u.pci.addr.domain = domainID;
hostdev->source.subsys.u.pci.addr.bus = busID;
Index: libvirt-5.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-5.4.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-5.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.3.0/src/xenconfig/xen_sxpr.c
--- libvirt-5.4.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.4.0/src/xenconfig/xen_sxpr.c
@@ -1054,6 +1054,7 @@ xenParseSxprPCI(virDomainDefPtr def,
int busID;
int slotID;

View File

@ -8,10 +8,10 @@ It was also noticed that the per-domain profiles need a libnl rule
to squelch a denial when starting confined domains.
Found while investigating bsc#1058847
Index: libvirt-5.3.0/src/security/apparmor/libvirt-qemu
Index: libvirt-5.4.0/src/security/apparmor/libvirt-qemu
===================================================================
--- libvirt-5.3.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.3.0/src/security/apparmor/libvirt-qemu
--- libvirt-5.4.0.orig/src/security/apparmor/libvirt-qemu
+++ libvirt-5.4.0/src/security/apparmor/libvirt-qemu
@@ -63,6 +63,7 @@
#/dev/fb* rw,
@ -20,10 +20,10 @@ Index: libvirt-5.3.0/src/security/apparmor/libvirt-qemu
@{HOME}/.pulse-cookie rwk,
owner /root/.pulse-cookie rwk,
owner /root/.pulse/ rw,
Index: libvirt-5.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
Index: libvirt-5.4.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
===================================================================
--- libvirt-5.3.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-5.3.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
--- libvirt-5.4.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
+++ libvirt-5.4.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
@@ -17,7 +17,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
owner @{PROC}/[0-9]*/status r,
@{PROC}/filesystems r,

View File

@ -1,9 +1,9 @@
Adjust libvirt-guests service to conform to SUSE standards
Index: libvirt-5.3.0/tools/libvirt-guests.sh.in
Index: libvirt-5.4.0/tools/libvirt-guests.sh.in
===================================================================
--- libvirt-5.3.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-5.3.0/tools/libvirt-guests.sh.in
--- libvirt-5.4.0.orig/tools/libvirt-guests.sh.in
+++ libvirt-5.4.0/tools/libvirt-guests.sh.in
@@ -16,14 +16,13 @@
# License along with this library. If not, see
# <http://www.gnu.org/licenses/>.
@ -163,10 +163,10 @@ Index: libvirt-5.3.0/tools/libvirt-guests.sh.in
esac
-exit $RETVAL
+rc_exit
Index: libvirt-5.3.0/tools/libvirt-guests.sysconf
Index: libvirt-5.4.0/tools/libvirt-guests.sysconf
===================================================================
--- libvirt-5.3.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-5.3.0/tools/libvirt-guests.sysconf
--- libvirt-5.4.0.orig/tools/libvirt-guests.sysconf
+++ libvirt-5.4.0/tools/libvirt-guests.sysconf
@@ -1,19 +1,29 @@
+## Path: System/Virtualization/libvirt-guests
+

View File

@ -3,10 +3,10 @@ Disable TLS by default
On SUSE distros, the default is for libvirtd to listen only on the
Unix Domain Socket. The libvirt client still provides remote access
via a SSH tunnel.
Index: libvirt-5.3.0/src/remote/libvirtd.conf
Index: libvirt-5.4.0/src/remote/libvirtd.conf
===================================================================
--- libvirt-5.3.0.orig/src/remote/libvirtd.conf
+++ libvirt-5.3.0/src/remote/libvirtd.conf
--- libvirt-5.4.0.orig/src/remote/libvirtd.conf
+++ libvirt-5.4.0/src/remote/libvirtd.conf
@@ -18,8 +18,8 @@
# It is necessary to setup a CA and issue server certificates before
# using this capability.
@ -18,10 +18,10 @@ Index: libvirt-5.3.0/src/remote/libvirtd.conf
# Listen for unencrypted TCP connections on the public TCP/IP port.
# NB, must pass the --listen flag to the libvirtd process for this to
Index: libvirt-5.3.0/src/remote/remote_daemon_config.c
Index: libvirt-5.4.0/src/remote/remote_daemon_config.c
===================================================================
--- libvirt-5.3.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-5.3.0/src/remote/remote_daemon_config.c
--- libvirt-5.4.0.orig/src/remote/remote_daemon_config.c
+++ libvirt-5.4.0/src/remote/remote_daemon_config.c
@@ -108,7 +108,7 @@ daemonConfigNew(bool privileged ATTRIBUT
if (VIR_ALLOC(data) < 0)
return NULL;
@ -31,10 +31,10 @@ Index: libvirt-5.3.0/src/remote/remote_daemon_config.c
data->listen_tcp = 0;
if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 ||
Index: libvirt-5.3.0/src/remote/test_libvirtd.aug.in
Index: libvirt-5.4.0/src/remote/test_libvirtd.aug.in
===================================================================
--- libvirt-5.3.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-5.3.0/src/remote/test_libvirtd.aug.in
--- libvirt-5.4.0.orig/src/remote/test_libvirtd.aug.in
+++ libvirt-5.4.0/src/remote/test_libvirtd.aug.in
@@ -2,7 +2,7 @@ module Test_libvirtd =
::CONFIG::

View File

@ -7,10 +7,10 @@ On SUSE distros, we promote libvirt and all the libvirt-based
tools. If a user installs libvirt on their SUSE Xen host, then
libvirt should be king and override xendomains. See bsc#1015348
Index: libvirt-5.3.0/src/remote/libvirtd.service.in
Index: libvirt-5.4.0/src/remote/libvirtd.service.in
===================================================================
--- libvirt-5.3.0.orig/src/remote/libvirtd.service.in
+++ libvirt-5.3.0/src/remote/libvirtd.service.in
--- libvirt-5.4.0.orig/src/remote/libvirtd.service.in
+++ libvirt-5.4.0/src/remote/libvirtd.service.in
@@ -17,6 +17,8 @@ After=local-fs.target
After=remote-fs.target
After=systemd-logind.service

View File

@ -1,9 +1,9 @@
Adjust libvirtd sysconfig file to conform to SUSE standards
Index: libvirt-5.3.0/src/remote/libvirtd.sysconf
Index: libvirt-5.4.0/src/remote/libvirtd.sysconf
===================================================================
--- libvirt-5.3.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.3.0/src/remote/libvirtd.sysconf
--- libvirt-5.4.0.orig/src/remote/libvirtd.sysconf
+++ libvirt-5.4.0/src/remote/libvirtd.sysconf
@@ -1,16 +1,25 @@
+## Path: System/Virtualization/libvirt
+

View File

@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning
by default. It can only be enabled with the 'autoballoon' setting in
libxl.conf. See jsc#SLE-3059 for more details.
Index: libvirt-5.3.0/src/libxl/libxl.conf
Index: libvirt-5.4.0/src/libxl/libxl.conf
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl.conf
+++ libvirt-5.3.0/src/libxl/libxl.conf
--- libvirt-5.4.0.orig/src/libxl/libxl.conf
+++ libvirt-5.4.0/src/libxl/libxl.conf
@@ -4,12 +4,11 @@
# Enable autoballooning of domain0
@ -27,10 +27,10 @@ Index: libvirt-5.3.0/src/libxl/libxl.conf
# In order to prevent accidentally starting two domains that
Index: libvirt-5.3.0/src/libxl/libxl_conf.c
Index: libvirt-5.4.0/src/libxl/libxl_conf.c
===================================================================
--- libvirt-5.3.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.3.0/src/libxl/libxl_conf.c
--- libvirt-5.4.0.orig/src/libxl/libxl_conf.c
+++ libvirt-5.4.0/src/libxl/libxl_conf.c
@@ -22,7 +22,6 @@
#include <config.h>

View File

@ -1,9 +1,9 @@
Adjust paths of OVMF firmwares on SUSE distros
Index: libvirt-5.3.0/src/qemu/qemu.conf
Index: libvirt-5.4.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.3.0.orig/src/qemu/qemu.conf
+++ libvirt-5.3.0/src/qemu/qemu.conf
--- libvirt-5.4.0.orig/src/qemu/qemu.conf
+++ libvirt-5.4.0/src/qemu/qemu.conf
@@ -781,10 +781,9 @@ security_default_confined = 0
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
# follows this scheme.
@ -18,10 +18,10 @@ Index: libvirt-5.3.0/src/qemu/qemu.conf
#]
# The backend to use for handling stdout/stderr output from
Index: libvirt-5.3.0/src/qemu/qemu_conf.c
Index: libvirt-5.4.0/src/qemu/qemu_conf.c
===================================================================
--- libvirt-5.3.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.3.0/src/qemu/qemu_conf.c
--- libvirt-5.4.0.orig/src/qemu/qemu_conf.c
+++ libvirt-5.4.0/src/qemu/qemu_conf.c
@@ -116,10 +116,9 @@ void qemuDomainCmdlineDefFree(qemuDomain
#ifndef DEFAULT_LOADER_NVRAM
@ -36,10 +36,10 @@ Index: libvirt-5.3.0/src/qemu/qemu_conf.c
#endif
Index: libvirt-5.3.0/src/security/virt-aa-helper.c
Index: libvirt-5.4.0/src/security/virt-aa-helper.c
===================================================================
--- libvirt-5.3.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.3.0/src/security/virt-aa-helper.c
--- libvirt-5.4.0.orig/src/security/virt-aa-helper.c
+++ libvirt-5.4.0/src/security/virt-aa-helper.c
@@ -506,7 +506,8 @@ valid_path(const char *path, const bool
"/usr/share/ovmf/", /* for OVMF images */
"/usr/share/AAVMF/", /* for AAVMF images */

View File

@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
etc.), but for now they are all lumped together in this
single patch.
Index: libvirt-5.3.0/src/qemu/qemu.conf
Index: libvirt-5.4.0/src/qemu/qemu.conf
===================================================================
--- libvirt-5.3.0.orig/src/qemu/qemu.conf
+++ libvirt-5.3.0/src/qemu/qemu.conf
--- libvirt-5.4.0.orig/src/qemu/qemu.conf
+++ libvirt-5.4.0/src/qemu/qemu.conf
@@ -420,11 +420,20 @@
# isolation, but it cannot appear in a list of drivers.
#

View File

@ -1,9 +1,9 @@
Adjust virtlockd sysconfig file to conform to SUSE standards
Index: libvirt-5.3.0/src/locking/virtlockd.sysconf
Index: libvirt-5.4.0/src/locking/virtlockd.sysconf
===================================================================
--- libvirt-5.3.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-5.3.0/src/locking/virtlockd.sysconf
--- libvirt-5.4.0.orig/src/locking/virtlockd.sysconf
+++ libvirt-5.4.0/src/locking/virtlockd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlockd
+

View File

@ -1,9 +1,9 @@
Adjust virtlogd sysconfig file to conform to SUSE standards
Index: libvirt-5.3.0/src/logging/virtlogd.sysconf
Index: libvirt-5.4.0/src/logging/virtlogd.sysconf
===================================================================
--- libvirt-5.3.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-5.3.0/src/logging/virtlogd.sysconf
--- libvirt-5.4.0.orig/src/logging/virtlogd.sysconf
+++ libvirt-5.4.0/src/logging/virtlogd.sysconf
@@ -1,3 +1,7 @@
+## Path: System/Virtualization/virtlogd
+

View File

@ -1,7 +1,7 @@
Index: libvirt-5.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-5.4.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-5.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.3.0/src/xenconfig/xen_sxpr.c
--- libvirt-5.4.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.4.0/src/xenconfig/xen_sxpr.c
@@ -383,7 +383,7 @@ xenParseSxprVifRate(const char *rate, un
static int
xenParseSxprDisks(virDomainDefPtr def,

View File

@ -6,10 +6,10 @@ and 'file'. This was implicitly done prior to commit 9673418c.
https://bugzilla.suse.com/show_bug.cgi?id=938228
Index: libvirt-5.3.0/src/xenconfig/xen_sxpr.c
Index: libvirt-5.4.0/src/xenconfig/xen_sxpr.c
===================================================================
--- libvirt-5.3.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.3.0/src/xenconfig/xen_sxpr.c
--- libvirt-5.4.0.orig/src/xenconfig/xen_sxpr.c
+++ libvirt-5.4.0/src/xenconfig/xen_sxpr.c
@@ -497,10 +497,11 @@ xenParseSxprDisks(virDomainDefPtr def,
omnipotent, we can revisit this, perhaps stat()'ing
the src file in question */