diff --git a/logd/LogKlog.cpp b/logd/LogKlog.cpp index 0495463dc..ef6c1ae2c 100644 --- a/logd/LogKlog.cpp +++ b/logd/LogKlog.cpp @@ -26,6 +26,7 @@ #include #include +#include #include "LogBuffer.h" #include "LogKlog.h" @@ -589,7 +590,12 @@ int LogKlog::log(const char *buf, size_t len) { // 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