[libvirt] [libvirt PATCH] rpc: do not fail if the pid of the connecting process is not set
Giuseppe Scrivano
gscrivan at redhat.com
Thu Nov 20 13:25:23 UTC 2014
Martin Kletzander <mkletzan at redhat.com> writes:
> On Wed, Nov 19, 2014 at 06:29:48PM +0100, Giuseppe Scrivano wrote:
>>getsockopt(sock->fd, SOL_SOCKET, SO_PEERCRED, ...) sets the pid to 0
>>when the process that opens the connection is in another container.
>>
>>Signed-off-by: Giuseppe Scrivano <gscrivan at redhat.com>
>>---
>> src/rpc/virnetsocket.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>>diff --git a/src/rpc/virnetsocket.c b/src/rpc/virnetsocket.c
>>index 882fbec..6b019cc 100644
>>--- a/src/rpc/virnetsocket.c
>>+++ b/src/rpc/virnetsocket.c
>>@@ -1251,10 +1251,14 @@ int virNetSocketGetUNIXIdentity(virNetSocketPtr sock,
>> goto cleanup;
>> }
>>
>>- if (virProcessGetStartTime(cr.pid, timestamp) < 0)
>>+ *timestamp = -1;
>>+ if (cr.pid && virProcessGetStartTime(cr.pid, timestamp) < 0)
>> goto cleanup;
>>
>>- *pid = cr.pid;
>>+ if (cr.pid)
>>+ *pid = cr.pid;
>>+ else
>>+ *pid = -1;
>> *uid = cr.uid;
>> *gid = cr.gid;
>>
>>--
>>1.9.3
>>
>
> ACK,
>
> Martin
Thanks, pushed now.
Giuseppe
More information about the libvir-list
mailing list