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

Commit 3cd02e89 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "llkd: report stack signature matched"

parents 1476931e 22e05fb5
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -737,7 +737,7 @@ bool llkCheckStack(proc* procp, const std::string& piddir) {

    auto kernel_stack = ReadFile(piddir + "/stack");
    if (kernel_stack.empty()) {
        LOG(INFO) << piddir << "/stack empty comm=" << procp->getComm()
        LOG(VERBOSE) << piddir << "/stack empty comm=" << procp->getComm()
                     << " cmdline=" << procp->getCmdline();
        return false;
    }
@@ -745,11 +745,13 @@ bool llkCheckStack(proc* procp, const std::string& piddir) {
    if (kernel_stack.find(" cpu_worker_pools+0x") != std::string::npos) return false;
    char idx = -1;
    char match = -1;
    std::string matched_stack_symbol = "<unknown>";
    for (const auto& stack : llkCheckStackSymbols) {
        if (++idx < 0) break;
        if ((kernel_stack.find(" "s + stack + "+0x") != std::string::npos) ||
            (kernel_stack.find(" "s + stack + ".cfi+0x") != std::string::npos)) {
            match = idx;
            matched_stack_symbol = stack;
            break;
        }
    }
@@ -760,7 +762,9 @@ bool llkCheckStack(proc* procp, const std::string& piddir) {
    }
    if (match == char(-1)) return false;
    procp->count_stack += llkCycle;
    return procp->count_stack >= llkStateTimeoutMs[llkStateStack];
    if (procp->count_stack < llkStateTimeoutMs[llkStateStack]) return false;
    LOG(WARNING) << "Found " << matched_stack_symbol << " in stack for pid " << procp->pid;
    return true;
}
#endif