[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH] Set process ID in system identity



From: "Daniel P. Berrange" <berrange redhat com>

When creating a virIdentityPtr for the system identity, include
the current process ID as an attribute.
---
 src/util/viridentity.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/util/viridentity.c b/src/util/viridentity.c
index 034a12a..6d93d0f 100644
--- a/src/util/viridentity.c
+++ b/src/util/viridentity.c
@@ -139,6 +139,13 @@ virIdentityPtr virIdentityGetSystem(void)
 #if WITH_SELINUX
     security_context_t con;
 #endif
+    char *processid = NULL;
+
+    if (virAsprintf(&processid, "%llu",
+                    (unsigned long long)getpid()) < 0) {
+        virReportOOMError();
+        goto cleanup;
+    }
 
     if (!(username = virGetUserName(getuid())))
         goto cleanup;
@@ -176,11 +183,16 @@ virIdentityPtr virIdentityGetSystem(void)
                            VIR_IDENTITY_ATTR_SELINUX_CONTEXT,
                            seccontext) < 0)
         goto error;
+    if (virIdentitySetAttr(ret,
+                           VIR_IDENTITY_ATTR_UNIX_PROCESS_ID,
+                           processid) < 0)
+        goto error;
 
 cleanup:
     VIR_FREE(username);
     VIR_FREE(groupname);
     VIR_FREE(seccontext);
+    VIR_FREE(processid);
     return ret;
 
 error:
-- 
1.8.1.4


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]