From 5f6ae96bab32bcb2871359e2381498a9c0e52af9 Mon Sep 17 00:00:00 2001 From: Vernon Tang Date: Mon, 25 Apr 2011 13:31:34 +1000 Subject: [PATCH] Set SO_PASSCRED on the uevent socket. (needed for change I393c21da) Change-Id: I09a8a6d7c654869a40339adce181e6b981f10369 --- NetlinkManager.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/NetlinkManager.cpp b/NetlinkManager.cpp index 36db0ff..9fb86ae 100644 --- a/NetlinkManager.cpp +++ b/NetlinkManager.cpp @@ -50,6 +50,7 @@ NetlinkManager::~NetlinkManager() { int NetlinkManager::start() { struct sockaddr_nl nladdr; int sz = 64 * 1024; + int on = 1; memset(&nladdr, 0, sizeof(nladdr)); nladdr.nl_family = AF_NETLINK; @@ -62,7 +63,8 @@ int NetlinkManager::start() { return -1; } - if (setsockopt(mSock, SOL_SOCKET, SO_RCVBUFFORCE, &sz, sizeof(sz)) < 0) { + if (setsockopt(mSock, SOL_SOCKET, SO_RCVBUFFORCE, &sz, sizeof(sz)) < 0 || + setsockopt(mSock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) { SLOGE("Unable to set uevent socket options: %s", strerror(errno)); return -1; }