- 15 5月, 2019 1 次提交
-
-
由 Jiri Denemark 提交于
My earlier commit be46f613 was incomplete. It removed caching of microcode version in the CPU driver, which means the capabilities XML will see the correct microcode version. But it is also cached in the QEMU capabilities cache where it is used to detect whether we need to reprobe QEMU. By missing the second place, the original commit be46f613 made the situation even worse since libvirt would report correct microcode version while still using the old host CPU model (visible in domain capabilities XML). Signed-off-by: NJiri Denemark <jdenemar@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com> (cherry picked from commit 673c62a3) CVE-2018-12126, CVE-2018-12127, CVE-2018-12130 Conflicts: src/qemu/qemu_capabilities.c - virQEMUCapsCacheLookupByArch refactoring (commits 7948ad41 and 1a3de670) are missing - commit a7424faf "Force QMP capability probing" is missing downstream Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 04 1月, 2018 1 次提交
-
-
由 Paolo Bonzini 提交于
A microcode update can cause the CPUID bits to change; an example from the past was the update that disabled TSX on several Haswell and Broadwell machines. Therefore, place microcode version in the virQEMUCaps struct and XML, and rebuild the cache if the versions do not match. Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 26 7月, 2017 3 次提交
-
-
由 Pavel Hrdina 提交于
The switch contains considerable amount of changes: virQEMUCapsRememberCached() is removed because this is now handled by virFileCacheSave(). virQEMUCapsInitCached() is removed because this is now handled by virFileCacheLoad(). virQEMUCapsNewForBinary() is split into two functions, virQEMUCapsNewData() which creates new data if there is nothing cached and virQEMUCapsLoadFile() which loads the cached data. This is now handled by virFileCacheNewData(). virQEMUCapsCacheValidate() is removed because this is now handled by virFileCacheValidate(). virQEMUCapsCacheFree() is removed because it's no longer required. Add virCapsPtr into virQEMUCapsCachePriv because for each call of virFileCacheLookup*() we need to use current virCapsPtr. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Pavel Hrdina 提交于
This is a preparation for following patches where we switch to virFileCache for QEMU capabilities cache The host arch will always remain the same but virCaps may change. Now the host arch is stored while creating new qemu capabilities cache. It removes the need to pass virCaps into virQEMUCapsCache*() functions. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Pavel Hrdina 提交于
Move all the host CPU data into a separate file and rewrite qemucpumock to not use passed @caps. This is preparation for following patch which will replace virCaps argument with virArch. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
-
- 20 7月, 2017 1 次提交
-
-
由 Pavel Hrdina 提交于
Cleanups the code a little bit and reduces amount of arguments passed throughout the functions. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NJiri Denemark <jdenemar@redhat.com>
-
- 13 6月, 2017 1 次提交
-
-
由 Jiri Denemark 提交于
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 11 4月, 2017 4 次提交
-
-
由 Pavel Hrdina 提交于
This removes the hacky extern global variable and modifies the test code to properly create QEMU capabilities cache for QEMU binaries used in our tests. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
The virt type for QEMU can be modified by -machine attribute "accel" so there is no need to have different QEMU binary paths. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
Let's group all the binaries that we use in our test suite to one array. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
All other architectures have separate functions to prepare guest capabilities, do the same for i686 and x86_64 as well. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 23 3月, 2017 1 次提交
-
-
由 Andrea Bolognani 提交于
-
- 17 3月, 2017 1 次提交
-
-
由 Jiri Denemark 提交于
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 08 3月, 2017 1 次提交
-
-
由 Michal Privoznik 提交于
Some of our tests (e.g. qemuhotplugtest) call virDomainSaveConfig(). Now the problem is, qemuTestDriverInit() creates a fake qemu driver and fills it with some fake configuration. At least so we hoped. The truth is, it calls regular virQEMUDriverConfigNew() and then fix couple of paths. Literally. Therefore our tests see regular stateDir and configDir for the user that is running the tests. Directories, where live domain XMLs are stored. Let's just hope our test suite hasn't mangled any of them. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 04 11月, 2016 1 次提交
-
-
由 Jiri Denemark 提交于
virQEMUCapsLoadCache loads QEMU capabilities from a file, but strangely enough it returns the loaded QEMU binary ctime in qemuctime parameter instead of storing it in qemuCaps. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 22 9月, 2016 4 次提交
-
-
由 Jiri Denemark 提交于
Host capabilities provide libvirt's view of the host CPU, but for a useful support for host-model CPUs we really need a hypervisor's view of the CPU. And since the view can be differ with emulator, qemu capabilities is the best place to store the host CPU model. This patch just copies the CPU model from host capabilities, but this will change in the future. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
The x86 CPU driver translated each CPU definition from domain XML into CPUID data and then back to CPU definition. This effectively sorted the list of CPU features according to their CPUID values. Since this is going to change, we need to reorder CPU features in a few test files to make sure the generated QEMU command lines will not change. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Jiri Denemark 提交于
Changing a host architecture or a CPU is not as easy as assigning a new value to the appropriate element in virCaps since there is a relation between the CPU and host architecture (we don't really want to test anything on an AArch64 host with core2duo CPU). This patch introduces qemuTestSetHostArch and qemuTestSetHostCPU helpers which will make sure the host architecture matches the host CPU. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 10 8月, 2016 1 次提交
-
-
由 Jiri Denemark 提交于
The generated command line wouldn't work since QEMU doesn't know what 'cmt' is. The following patch will fix this issue. https://bugzilla.redhat.com/show_bug.cgi?id=1355857Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 01 8月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
==2064442== 200 (88 direct, 112 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 73 ==2064442== at 0x4C2E0F0: calloc (vg_replace_malloc.c:711) ==2064442== by 0x18E75B80: virAllocVar (viralloc.c:560) ==2064442== by 0x18EC43B0: virObjectNew (virobject.c:193) ==2064442== by 0x18EC476E: virObjectLockableNew (virobject.c:219) ==2064442== by 0x1906BC73: virSecurityManagerNewDriver (security_manager.c:93) ==2064442== by 0x1906C076: virSecurityManagerNewStack (security_manager.c:115) ==2064442== by 0x43CC39: qemuTestDriverInit (testutilsqemu.c:548) ==2064442== by 0x4337ED: mymain (qemumonitorjsontest.c:2440) ==2064442== by 0x43BABE: virTestMain (testutils.c:982) ==2064442== by 0x43A490: main (qemumonitorjsontest.c:2558)
-
- 18 5月, 2016 1 次提交
-
-
由 Andrea Bolognani 提交于
Now that we choose the GIC version based on hardware features when no <gic/> element has been provided, we need a way to fake the GIC capabilities of the host. Update the qemuxml2argv and qemuxml2xml tests to allow this.
-
- 06 5月, 2016 1 次提交
-
-
由 Jiri Denemark 提交于
Enhance the test to cover all capabilities we probe for rather than testing the flags only. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 13 4月, 2016 1 次提交
-
- 24 3月, 2016 1 次提交
-
-
由 Michal Privoznik 提交于
After 9c17d665 the tap device for ethernet network type is automatically precreated before spawning qemu. Problem is, the qemuxml2argvtest wasn't updated and thus is failing. Because of all the APIs that new code is calling, I had to mock a lot. Also, since the tap FDs are labeled separately from the rest of the devices/files I had to enable NOP security driver for the test too. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 22 3月, 2016 1 次提交
-
-
由 Pavel Hrdina 提交于
Update testutilsqemu to overwrite libDir and channelTargetDir and set private paths using domain's privateData. This changes is required for following patch. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 18 1月, 2016 1 次提交
-
-
由 Michal Privoznik 提交于
In the commit aea47e48 we have fixed a single pointer within driver structure. Since all callers pass statically allocated driver on stack other pointers within driver may contain random values too. Before touching it lets overwrite it with zeroes and thus fix all dangling pointers. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 10 1月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
For some reason we are not setting the driver with memset() to zeros. But since commit 74abc3de driver->securityManager is being accessed and qemuagenttest started crashing due to that. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 10 11月, 2015 1 次提交
-
-
由 Daniel P. Berrange 提交于
We have twice previously attempted to remove Xenner support commit de9be0ab Author: Daniel P. Berrange <berrange@redhat.com> Date: Wed Aug 22 17:29:01 2012 +0100 Remove xenner support commit 92572c3d Author: Ján Tomko <jtomko@redhat.com> Date: Wed Feb 18 16:33:50 2015 +0100 Remove code handling the QEMU_CAPS_DOMID capability This change really does remove the last traces of it in the capabilities handling code Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
- 22 9月, 2015 4 次提交
-
-
由 Michal Privoznik 提交于
Even though usage of the lock is limited to a very few cases, it's still needed. Therefore we should initialize it too. Otherwise we may get some random test failures: ==1204== Conditional jump or move depends on uninitialised value(s) ==1204== at 0xEF7F7CF: pthread_mutex_lock (in /lib64/libpthread-2.20.so) ==1204== by 0x9CA89A5: virMutexLock (virthread.c:89) ==1204== by 0x450B2A: qemuDriverLock (qemu_conf.c:83) ==1204== by 0x45549C: virQEMUDriverGetConfig (qemu_conf.c:869) ==1204== by 0x448E29: qemuDomainDeviceDefPostParse (qemu_domain.c:1240) ==1204== by 0x9CC9B13: virDomainDeviceDefPostParse (domain_conf.c:4224) ==1204== by 0x9CC9B91: virDomainDefPostParseDeviceIterator (domain_conf.c:4251) ==1204== by 0x9CC7843: virDomainDeviceInfoIterateInternal (domain_conf.c:3440) ==1204== by 0x9CC9C25: virDomainDefPostParse (domain_conf.c:4276) ==1204== by 0x9CEEE03: virDomainDefParseXML (domain_conf.c:16400) ==1204== by 0x9CEF5B4: virDomainDefParseNode (domain_conf.c:16582) ==1204== by 0x9CEF423: virDomainDefParse (domain_conf.c:16529) Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Pavel Fedin 提交于
Use the new API in order to correctly add capability sets to the cache before parsing XML files Signed-off-by: NPavel Fedin <p.fedin@samsung.com> Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
由 Pavel Fedin 提交于
The main purpose of this patch is to introduce test mode to virQEMUCapsCacheLookup(). This is done by adding a global variable, which effectively overrides binary name. This variable is supposed to be set by test suite. The second addition is qemuTestCapsCacheInsert() function which allows the test suite to actually populate the cache. Signed-off-by: NPavel Fedin <p.fedin@samsung.com> Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
由 Pavel Fedin 提交于
Two utility functions are introduced for proper initialization and cleanup of the driver. Signed-off-by: NPavel Fedin <p.fedin@samsung.com> Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
- 13 8月, 2015 1 次提交
-
-
由 Martin Kletzander 提交于
The numad hint stored in priv->autoNodeset is information that gets lost during daemon restart. And because we would like to use that information in the future, we also need to save it in the status XML. For the sake of tests, we need to initialize nnumaCell_max to some value, so that the restoration doesn't fail in our test suite. There is no need to fill in the actual numa cell data since the recalculating function virCapabilitiesGetCpusForNodemask() will not fail, it will just skip filling the data in the bitmap which we don't use in tests anyway. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 23 6月, 2015 1 次提交
-
-
由 Eric Farman 提交于
The SCSI Architecture Model defines a logical unit address as 64-bits in length, so change the field accordingly so that the entire value could be stored. Signed-off-by: NEric Farman <farman@linux.vnet.ibm.com>
-
- 08 5月, 2015 1 次提交
-
-
由 Cole Robinson 提交于
My commit 747761a7 (v1.2.15 only) dropped this bit of logic when filling in a default arch in the XML: - /* First try to find one matching host arch */ - for (i = 0; i < caps->nguests; i++) { - if (caps->guests[i]->ostype == ostype) { - for (j = 0; j < caps->guests[i]->arch.ndomains; j++) { - if (caps->guests[i]->arch.domains[j]->type == domain && - caps->guests[i]->arch.id == caps->host.arch) - return caps->guests[i]->arch.id; - } - } - } That attempt to match host.arch is important, otherwise we end up defaulting to i686 on x86_64 host for KVM, which is not intended. Duplicate it in the centralized CapsLookup function. Additionally add some testcases that would have caught this. https://bugzilla.redhat.com/show_bug.cgi?id=1219191
-
- 24 4月, 2015 1 次提交
-
-
由 Cole Robinson 提交于
To remove a bunch of TestGetDebug()/TestGetVerbose() checks
-
- 21 4月, 2015 2 次提交
-
-
由 Cole Robinson 提交于
-
由 Cole Robinson 提交于
Rather than an opencoded string. This should be a no-op
-
- 26 3月, 2015 1 次提交
-
-
由 Jiri Denemark 提交于
QEMU 2.3 adds these new models to cover Haswell and Broadwell CPUs with updated microcode. Luckily, they also reverted former the machine type specific changes to existing models. And since these changes were never released, we don't need to hack around them in libvirt. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-