5077 Commits

Author SHA1 Message Date
Peter Krempa
7f71a641d0 virDomainVideoDriverDefParseXML: Fix use of uninitialized variable
Commit fc7e1b2f03cfe2a5f3fce737390548505382d8ed which refactored the
video driver parse helper introduced a use of uninitialized variable,
which caused test failure at least when compiled with clang.

Pass 'def->vgaconf' directly to virXMLPropEnum. 'def' needs to be
converted to use g_autofree to handle error scenarios.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
2021-05-05 14:08:29 +02:00
Tim Wiederhake
4a4c2a4f24 virDomainFSDefParseXML: Remove unused variables
Fixes: 8f05664ed379fdb7f830d900f4fa3584ac7cab49
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-05-05 14:04:41 +02:00
Kristina Hanicova
8391cfbc2d Refactoring virDomainVideoDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:15 +02:00
Kristina Hanicova
fc7e1b2f03 Refactoring virDomainVideoDriverDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:14 +02:00
Kristina Hanicova
bcce7f2e3a conf: Propagate xmlXPathContextPtr into virDomainVideoDriverDefParseXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:14 +02:00
Kristina Hanicova
2a5e16398e Refactoring virDomainGraphicsDefParseXMLSpice() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:13 +02:00
Kristina Hanicova
17ae6e8d64 Refactoring virDomainSmartcardDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:12 +02:00
Kristina Hanicova
7fefde1f44 Refactoring virDomainChrDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:11 +02:00
Kristina Hanicova
d705f5b4f2 Refactoring virDomainChrSourceDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:10 +02:00
Kristina Hanicova
3ee51e1b56 Refactoring virDomainChrDefParseTargetXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:09 +02:00
Kristina Hanicova
d1c8ee235a conf: Propagate xmlXPathContextPtr into virDomainChrDefParseTargetXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:08 +02:00
Kristina Hanicova
fdd06824e3 Refactoring virDomainNetDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:06 +02:00
Kristina Hanicova
8f05664ed3 Refactoring virDomainFSDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:05 +02:00
Kristina Hanicova
1810562e11 Refactoring virDomainControllerDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:03 +02:00
Kristina Hanicova
8d635a0bf2 Refactoring virDomainLeaseDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:12:00 +02:00
Kristina Hanicova
997b920433 conf: Propagate xmlXPathContextPtr into virDomainLeaseDefParseXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:59 +02:00
Kristina Hanicova
bd8f53bcab Refactoring virDomainHostdevSubsysPCIDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:58 +02:00
Kristina Hanicova
56cbdb858e conf: Propagate xmlXPathContextPtr into virDomainHostdevSubsysPCIDefParseXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:58 +02:00
Kristina Hanicova
2cf6a488d1 Refactoring virDomainBlkioDeviceParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:57 +02:00
Kristina Hanicova
6ec66671da conf: Propagate xmlXPathContextPtr into virDomainBlkioDeviceParseXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:56 +02:00
Kristina Hanicova
9f27f12282 Refactoring virDomainHostdevSubsysUSBDefParseXML() to use XPath
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:55 +02:00
Kristina Hanicova
c9178c86cb conf: Propagate xmlXPathContextPtr into virDomainHostdevSubsysUSBDefParseXML()
Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-05-05 09:11:53 +02:00
Tim Wiederhake
8b901da616 virDomainAudioSDLParse: Use virXMLProp*
This strictens the parser to disallow negative values (interpreted as
`UINT_MAX + value + 1`) for attribute `bufferCount`.

`bufferCount` does not benefit from being referable as e.g. "-7" for
requesting 4294967289 buffers, as this value is distinctly out of range
for normal use.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:17:40 +02:00
Tim Wiederhake
4fc365934a virDomainFeaturesDefParse: Use virXMLPropEnum
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:17:40 +02:00
Tim Wiederhake
54635ea592 virDomainFeaturesDefParse: Use virXMLPropTristateSwitch
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:17:40 +02:00
Tim Wiederhake
f45937c9cf virDomainFeaturesDefParse: Use virXMLPropUInt
This strictens the parser to disallow negative values (interpreted as
`UINT_MAX + value + 1`) for attribute `retries`. UINT_MAX holds no
special significance for this attribute and is distinctly out of range
for normal use.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:17:40 +02:00
Tim Wiederhake
47896e0ba2 virDomainSoundDefParseXML: Use virXMLProp*
This strictens the parser to disallow negative values (interpreted as
`UINT_MAX + value + 1`) for attribute `id`.

`id` must be greater than 0 and does not benefit from being referable as
e.g. "-7" for host audio backend 4294967289, as this value is distinctly
out of range for normal use.

Additionally, this patch fixes a use of NULL string with printf's %s
modifier if the `model` attribute is absent.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:17:40 +02:00
Tim Wiederhake
b13f801d6f virDomainActualNetDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:11:39 +02:00
Tim Wiederhake
e78776e117 virDomainControllerDefParseXML: Cosmetic changes
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:11:39 +02:00
Tim Wiederhake
020dd80ecb virDomainControllerDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-05-03 11:11:39 +02:00
Peter Krempa
6dca93e4bc conf: Fix heap corruption when hot-adding a lease
Commit 28a86993162f7d2f ( v6.9.0-179-g28a8699316 ) incorrectly replaced
VIR_EXPAND_N by g_renew.

VIR_EXPAND_N has these two extra effects apart from reallocating memory:

1) The newly allocated memory is zeroed out
2) The number of elements in the array which is passed to VIR_EXPAND_N
   is increased.

This comes into play when used with virDomainLeaseInsertPreAlloced,
which expects that the array element count already includes the space
for the added 'lease', by plainly just assigning to
'leases[nleases - 1]'

Since g_renew does not increase the number of elements in the array
any existing code which calls virDomainLeaseInsertPreAlloced thus either
overwrites a lease definition or corrupts the heap if there are no
leases to start with.

To preserve existing functionality we revert the code back to using
VIR_EXPAND_N which at this point doesn't return any value, so other
commits don't need to be reverted.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1953577
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2021-05-03 08:42:01 +02:00
Tim Wiederhake
6c7faa2720 virDomainDef: Change type of xen_passthrough_mode to virDomainXenPassthroughMode
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
e4550c74a6 virDomainDef: Change type of hyperv_stimer_direct to virTristateSwitch
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
fa88832b8f virDomainSoundDef: Change type of model to virDomainSoundModel
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
7e07c50dc0 virDomainGraphicsDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
b975a8a755 virDomainGraphicsDefParseXMLDesktop: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
7ae08ef3a2 virDomainGraphicsDefParseXMLSDL: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
2021-04-26 13:43:32 +02:00
Tim Wiederhake
ee387289dd virDomainGraphicsDefParseXMLVNC: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:50 +02:00
Tim Wiederhake
65789be8e4 virDomainGraphicsDef: Change type of sharePolicy to virDomainGraphicsVNCSharePolicy
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
0b20fd3754 virDomainGraphicsListenDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
b45ba35e35 virDomainNetDefParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
3d2c54b062 virDomainActualNetDef: Change type of type to virDomainNetType
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
376bb1ebb3 virDomainPCIControllerOpts: Change type of modelName to virDomainControllerPCIModelName
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
8395c909a6 virDomainControllerDef: Change type of ioeventfd to virTristateSwitch
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
2021-04-23 16:36:49 +02:00
Tim Wiederhake
fa48004af5 virDomainChrSourceDefParseTCP: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:31:10 +02:00
Tim Wiederhake
47d810c4f2 domain_conf: Remove function virDomainChrSourceDefParseMode
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:31:07 +02:00
Tim Wiederhake
170288c408 domain_conf: Introduce function virDomainChrSouceModeTypeFromString
Preparatory step to remove virDomainChrSourceDefParseMode.

Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:31:01 +02:00
Tim Wiederhake
45abc1a5db virDomainDiskDefDriverParseXML: Use virXMLProp*
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:30:59 +02:00
Tim Wiederhake
eec82ea2d9 virDomainDiskDef: Change type of detect_zeroes to virDomainDiskDetectZeroes
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:30:58 +02:00
Tim Wiederhake
ea7d0071d5 virDomainDiskDef: Change type of discard to virDomainDiskDiscard
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
2021-04-22 15:30:56 +02:00