diff options
author | Mark Salyzyn <salyzyn@google.com> | 2017-05-05 15:32:10 -0700 |
---|---|---|
committer | Mark Salyzyn <salyzyn@google.com> | 2017-05-08 16:19:48 -0700 |
commit | 54d8ff1121440d0ef4565ce0ab3751f82fdb393c (patch) | |
tree | f4d3401d31d70cc5ed4794557de654d3092520f8 | |
parent | 9811cd33ac6ae18e8ac41f5ca312772e0bbdeafd (diff) | |
download | system_core-54d8ff1121440d0ef4565ce0ab3751f82fdb393c.tar.gz system_core-54d8ff1121440d0ef4565ce0ab3751f82fdb393c.tar.bz2 system_core-54d8ff1121440d0ef4565ce0ab3751f82fdb393c.zip |
logd: add "+passcred" for logdw socket
Tell init to set SO_PASSCRED on the socket before bind() and handoff.
Test: gtest logd-unit-test --gtest_filter=logd.statistics right after boot
Bug: 37985222
Change-Id: I318969ee3241834e5326233aabd97e52ef505969
-rw-r--r-- | logd/LogListener.cpp | 10 | ||||
-rw-r--r-- | logd/logd.rc | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/logd/LogListener.cpp b/logd/LogListener.cpp index 709646e37..3c0d08dc6 100644 --- a/logd/LogListener.cpp +++ b/logd/LogListener.cpp @@ -119,14 +119,14 @@ int LogListener::getLogSocket() { static const char socketName[] = "logdw"; int sock = android_get_control_socket(socketName); - if (sock < 0) { + if (sock < 0) { // logd started up in init.sh sock = socket_local_server( socketName, ANDROID_SOCKET_NAMESPACE_RESERVED, SOCK_DGRAM); - } - int on = 1; - if (setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on)) < 0) { - return -1; + int on = 1; + if (setsockopt(sock, SOL_SOCKET, SO_PASSCRED, &on, sizeof(on))) { + return -1; + } } return sock; } diff --git a/logd/logd.rc b/logd/logd.rc index 7494d8fb3..88042466b 100644 --- a/logd/logd.rc +++ b/logd/logd.rc @@ -1,7 +1,7 @@ service logd /system/bin/logd socket logd stream 0666 logd logd socket logdr seqpacket 0666 logd logd - socket logdw dgram 0222 logd logd + socket logdw dgram+passcred 0222 logd logd file /proc/kmsg r file /dev/kmsg w user logd |