From: Daniel P. Berrange Date: Mon, 24 Jun 2013 13:47:31 +0000 (+0100) Subject: Set process ID in system identity X-Git-Tag: v1.1.0-rc1~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5de708c1b9f100d820624d462eb8e7e9108529b8;p=thirdparty%2Flibvirt.git Set process ID in system identity When creating a virIdentityPtr for the system identity, include the current process ID as an attribute. --- 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: