apparmor: Permit new capabilities required by libvirtd
Signed-off-by: yezengruan <yezengruan@huawei.com>
(cherry picked from commit cc7a0d106087d7f1e1b09b4100ebd0051a9b2186)
(cherry picked from commit 36fc806da3aedf0f608d343d803efe8ed9d21905)
qemuMonitorJSONSetMigrationParams: Take double pointer for @params
qemuMonitorJSONAddObject: Take double pointer for @props
:qemuMonitorJSONMakeCommandInternal: Clear @arguments when stolen
qemuMonitorAddObject: Fix semantics of @alias
qemuMonitorAddObject: Refactor cleanup
util: json: Replace virJSONValueObjectSteal by virJSONValueObjectRemoveKey
qemu: command: Generate commandline of 'masterKey0' secret via JSON
qemu: command: Generate commandline of 'sev0' sev-guest object via JSON
qemu: command: Generate commandline of iothread objects JSON
qemu: capabilities: Introduce QEMU_CAPS_OBJECT_QAPIFIED
qemu: monitor: Make wrapping of 'props' of 'object-add' optional
qemuMonitorCreateObjectPropsWrap: Open-code in qemuBuildMemoryBackendProps
qemu: monitor: Don't add 'props' wrapper if qemu has QEMU_CAPS_OBJECT_QAPIFIED
qemu: command: Use JSON for QAPIfied -object directly
tests: qemuxml2argv: Validate generation of JSON props for object-add
qemu: capabilities: Enable detection of QEMU_CAPS_OBJECT_QAPIFIED
Signed-off-by: yezengruan <yezengruan@huawei.com>
(cherry picked from commit da25da87c49d1b576b48fd58614ff43833a04f37)
hotpatch: implement hotpatch virsh api
hotpatch: check vm id and pid before using hotpatch api
domain: add logs for virDomainHotpatchManage
Signed-off-by: AlexChen <alex.chen@huawei.com>
Signed-off-by: Bihong Yu <yubihong@huawei.com>
Signed-off-by: Hao Wang <wanghao232@huawei.com>
Add logs for virDomainHotpatchManage to facilitate the location of
issues related to subsequent hotpatch.
Signed-off-by: Bihong Yu <yubihong@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
Check if the vm is alive before using hotpatch api by calling
virDomainObjCheckActive() to check vm id and calling
qemuDomainHotpatchCheckPid() to check vm pid.
Signed-off-by: Bihong Yu <yubihong@huawei.com>
Signed-off-by: AlexChen <alex.chen@huawei.com>
tests: fix stat mocking with Fedora rawhide
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Peng Liang <liangpeng10@huawei.com>
Signed-off-by: imxcc <xingchaochao@huawei.com>
GLibC has a really complicated way of dealing with the 'stat' function
historically, which means our mocks in turn have to look at four
different possible functions to replace, stat, stat64, __xstat,
__xstat64.
In Fedora 33 and earlier:
- libvirt.so links to __xstat64
- libc.so library exports stat, stat64, __xstat, __xstat64
- sys/stat.h header exposes stat and __xstat
In Fedora 34 rawhide:
- libvirt.so links to stat64
- libc.so library exports stat, stat64, __xstat, __xstat64
- sys/stat.h header exposes stat
Historically we only looked at the exported symbols from libc.so to
decide which to mock.
In F34 though we must not consider __xstat / __xstat64 though because
they only existance for binary compatibility. Newly built binaries
won't reference them.
Thus we must introduce a header file check into our logic for deciding
which symbol to mock. We must ignore the __xstat / __xstat64 symbols
if they don't appear in the sys/stat.h header, even if they appear
in libc.so
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Peng Liang <liangpeng10@huawei.com>
Signed-off-by: imxcc <xingchaochao@huawei.com>