[libvirt] [PATCH v2 10/16] qemu: add qemuSecurityStartVhostUserGPU helper

Ján Tomko jtomko at redhat.com
Tue Aug 27 08:41:36 UTC 2019


On Fri, Aug 23, 2019 at 12:21:54PM -0400, Cole Robinson wrote:
>From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
>See function documentation. Used in a following patch.
>
>Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
>Signed-off-by: Cole Robinson <crobinso at redhat.com>
>---
> src/qemu/qemu_security.c | 47 ++++++++++++++++++++++++++++++++++++++++
> src/qemu/qemu_security.h |  6 +++++
> 2 files changed, 53 insertions(+)
>
>diff --git a/src/qemu/qemu_security.c b/src/qemu/qemu_security.c
>index 3cd6d9bd3d..86b06594f6 100644
>--- a/src/qemu/qemu_security.c
>+++ b/src/qemu/qemu_security.c
>@@ -433,6 +433,53 @@ qemuSecurityRestoreChardevLabel(virQEMUDriverPtr driver,
> }
>
>
>+/*
>+ * qemuSecurityStartVhostUserGPU:
>+ *
>+ * @driver: the QEMU driver
>+ * @vm: the domain object
>+ * @cmd: the command to run
>+ * @existstatus: pointer to int returning exit status of process
>+ * @cmdret: pointer to int returning result of virCommandRun
>+ *
>+ * Start the vhost-user-gpu process with approriate labels.
>+ * This function returns -1 on security setup error, 0 if all the
>+ * setup was done properly. In case the virCommand failed to run
>+ * 0 is returned but cmdret is set appropriately with the process
>+ * exitstatus also set.
>+ */
>+int
>+qemuSecurityStartVhostUserGPU(virQEMUDriverPtr driver,
>+                              virDomainObjPtr vm,
>+                              virCommandPtr cmd,
>+                              int *exitstatus,
>+                              int *cmdret)
>+{
>+    int ret = -1;
>+
>+    if (virSecurityManagerSetChildProcessLabel(driver->securityManager,
>+                                               vm->def, cmd) < 0)
>+        goto cleanup;
>+
>+    if (virSecurityManagerPreFork(driver->securityManager) < 0)
>+        goto cleanup;
>+
>+    ret = 0;
>+
>+    *cmdret = virCommandRun(cmd, exitstatus);
>+
>+    virSecurityManagerPostFork(driver->securityManager);
>+
>+    if (*cmdret < 0)
>+        goto cleanup;
>+
>+    return 0;
>+
>+ cleanup:
>+    return ret;


The cleanup section is pointless here.

Jano
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190827/9a709bb9/attachment-0001.sig>


More information about the libvir-list mailing list