Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13c39d79 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "logd: don't coalesce identical log messages in the security buffer" am: 9d04b677

Change-Id: I3de2f6302cf15c99d7bf779c5199a83c3c47a0cc
parents 75d3bc98 9d04b677
Loading
Loading
Loading
Loading
+30 −24
Original line number Original line Diff line number Diff line
@@ -207,9 +207,17 @@ int LogBuffer::log(log_id_t log_id, log_time realtime, uid_t uid, pid_t pid,
    // exact entry with time specified in ms or us precision.
    // exact entry with time specified in ms or us precision.
    if ((realtime.tv_nsec % 1000) == 0) ++realtime.tv_nsec;
    if ((realtime.tv_nsec % 1000) == 0) ++realtime.tv_nsec;


    LogBufferElement* elem =
    LogBufferElement* elem = new LogBufferElement(log_id, realtime, uid, pid, tid, msg, len);
        new LogBufferElement(log_id, realtime, uid, pid, tid, msg, len);

    if (log_id != LOG_ID_SECURITY) {
    // b/137093665: don't coalesce security messages.
    if (log_id == LOG_ID_SECURITY) {
        wrlock();
        log(elem);
        unlock();

        return len;
    }

    int prio = ANDROID_LOG_INFO;
    int prio = ANDROID_LOG_INFO;
    const char* tag = nullptr;
    const char* tag = nullptr;
    size_t tag_len = 0;
    size_t tag_len = 0;
@@ -223,8 +231,7 @@ int LogBuffer::log(log_id_t log_id, log_time realtime, uid_t uid, pid_t pid,
        tag = msg + 1;
        tag = msg + 1;
        tag_len = strnlen(tag, len - 1);
        tag_len = strnlen(tag, len - 1);
    }
    }
        if (!__android_log_is_loggable_len(prio, tag, tag_len,
    if (!__android_log_is_loggable_len(prio, tag, tag_len, ANDROID_LOG_VERBOSE)) {
                                           ANDROID_LOG_VERBOSE)) {
        // Log traffic received to total
        // Log traffic received to total
        wrlock();
        wrlock();
        stats.addTotal(elem);
        stats.addTotal(elem);
@@ -232,7 +239,6 @@ int LogBuffer::log(log_id_t log_id, log_time realtime, uid_t uid, pid_t pid,
        delete elem;
        delete elem;
        return -EACCES;
        return -EACCES;
    }
    }
    }


    wrlock();
    wrlock();
    LogBufferElement* currentLast = lastLoggedElements[log_id];
    LogBufferElement* currentLast = lastLoggedElements[log_id];