Merge "logd: klogd crash (part deux)"
am: b5894d88e9

Change-Id: I95166c1a629007acf2da6d39a05a6586ce38177f
diff --git a/logd/LogKlog.cpp b/logd/LogKlog.cpp
index 0495463..ef6c1ae 100644
--- a/logd/LogKlog.cpp
+++ b/logd/LogKlog.cpp
@@ -26,6 +26,7 @@
 #include <syslog.h>
 
 #include <log/logger.h>
+#include <private/android_filesystem_config.h>
 
 #include "LogBuffer.h"
 #include "LogKlog.h"
@@ -589,7 +590,12 @@
     // Parse pid, tid and uid
     const pid_t pid = sniffPid(p, len - (p - buf));
     const pid_t tid = pid;
-    const uid_t uid = pid ? logbuf->pidToUid(pid) : 0;
+    uid_t uid = AID_ROOT;
+    if (pid) {
+        logbuf->lock();
+        uid = logbuf->pidToUid(pid);
+        logbuf->unlock();
+    }
 
     // Parse (rules at top) to pull out a tag from the incoming kernel message.
     // Some may view the following as an ugly heuristic, the desire is to