From 5de708c1b9f100d820624d462eb8e7e9108529b8 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 24 Jun 2013 14:47:31 +0100 Subject: [PATCH] Set process ID in system identity 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 034a12a612..6d93d0f926 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: -- GitLab