From 165ad94bf9a1d4878a7d9b12e8158761a3685d2c Mon Sep 17 00:00:00 2001 From: JingMatrix Date: Fri, 7 Mar 2025 06:03:54 +0100 Subject: [PATCH] Adjust logs for dex2oat 1. Log dex2oat for debugging purpose 2. Avoid log formatting warning of type `dev_t` since it could be `%lu` or `%u` 3. Reformat changed files --- daemon/src/main/jni/dex2oat.cpp | 27 +++++++++++---------------- daemon/src/main/jni/logcat.cpp | 12 ++++++------ dex2oat/src/main/cpp/oat_hook.cpp | 1 - 3 files changed, 17 insertions(+), 23 deletions(-) diff --git a/daemon/src/main/jni/dex2oat.cpp b/daemon/src/main/jni/dex2oat.cpp index 212301d7..062e4134 100644 --- a/daemon/src/main/jni/dex2oat.cpp +++ b/daemon/src/main/jni/dex2oat.cpp @@ -16,30 +16,27 @@ * * Copyright (C) 2023 LSPosed Contributors */ - #include #include -#include +#include +#include #include #include #include -#include + +#include #include "logging.h" -extern "C" -JNIEXPORT void JNICALL -Java_org_lsposed_lspd_service_Dex2OatService_doMountNative(JNIEnv *env, jobject, - jboolean enabled, - jstring r32, jstring d32, - jstring r64, jstring d64) { +extern "C" JNIEXPORT void JNICALL Java_org_lsposed_lspd_service_Dex2OatService_doMountNative( + JNIEnv *env, jobject, jboolean enabled, jstring r32, jstring d32, jstring r64, jstring d64) { char dex2oat32[PATH_MAX], dex2oat64[PATH_MAX]; realpath("bin/dex2oat32", dex2oat32); realpath("bin/dex2oat64", dex2oat64); - if (pid_t pid = fork(); pid > 0) { // parent + if (pid_t pid = fork(); pid > 0) { // parent waitpid(pid, nullptr, 0); - } else { // child + } else { // child int ns = open("/proc/1/ns/mnt", O_RDONLY); setns(ns, CLONE_NEWNS); close(ns); @@ -95,15 +92,14 @@ static int setsockcreatecon_raw(const char *context) { } while (ret < 0 && errno == EINTR); } else { do { - ret = write(fd, nullptr, 0); // clear + ret = write(fd, nullptr, 0); // clear } while (ret < 0 && errno == EINTR); } close(fd); return ret < 0 ? -1 : 0; } -extern "C" -JNIEXPORT jboolean JNICALL +extern "C" JNIEXPORT jboolean JNICALL Java_org_lsposed_lspd_service_Dex2OatService_setSockCreateContext(JNIEnv *env, jclass, jstring contextStr) { const char *context = env->GetStringUTFChars(contextStr, nullptr); @@ -112,8 +108,7 @@ Java_org_lsposed_lspd_service_Dex2OatService_setSockCreateContext(JNIEnv *env, j return ret == 0; } -extern "C" -JNIEXPORT jstring JNICALL +extern "C" JNIEXPORT jstring JNICALL Java_org_lsposed_lspd_service_Dex2OatService_getSockPath(JNIEnv *env, jobject) { return env->NewStringUTF("5291374ceda0aef7c5d86cd2a4f6a3ac\0"); } diff --git a/daemon/src/main/jni/logcat.cpp b/daemon/src/main/jni/logcat.cpp index 32f4d69c..4a2e39c0 100644 --- a/daemon/src/main/jni/logcat.cpp +++ b/daemon/src/main/jni/logcat.cpp @@ -136,7 +136,7 @@ private: size_t Logcat::PrintLogLine(const AndroidLogEntry &entry, FILE *out) { if (!out) return 0; constexpr static size_t kMaxTimeBuff = 64; - struct tm tm {}; + struct tm tm{}; std::array time_buff{}; auto now = entry.tv_sec; @@ -226,10 +226,10 @@ void Logcat::ProcessBuffer(struct log_msg *buf) { shortcut = true; } if (verbose_ && (shortcut || buf->id() == log_id::LOG_ID_CRASH || entry.pid == my_pid_ || - tag == "APatchD"sv || tag == "Dobby"sv || tag == "KernelSU"sv || - tag == "LSPlant"sv || tag == "LSPlt"sv || tag.starts_with("LSPosed"sv) || - tag == "Magisk"sv || tag == "SELinux"sv || tag.starts_with("zygisk"sv))) - [[unlikely]] { + tag == "APatchD"sv || tag == "Dobby"sv || tag.starts_with("dex2oat"sv) || + tag == "KernelSU"sv || tag == "LSPlant"sv || tag == "LSPlt"sv || + tag.starts_with("LSPosed"sv) || tag == "Magisk"sv || tag == "SELinux"sv || + tag.starts_with("zygisk"sv))) [[unlikely]] { verbose_print_count_ += PrintLogLine(entry, verbose_file_.get()); } if (entry.pid == my_pid_ && tag == "LSPosedLogcat"sv) [[unlikely]] { @@ -340,7 +340,7 @@ void Logcat::Run() { } } - struct log_msg msg {}; + struct log_msg msg{}; while (true) { if (android_logger_list_read(logger_list.get(), &msg) <= 0) [[unlikely]] diff --git a/dex2oat/src/main/cpp/oat_hook.cpp b/dex2oat/src/main/cpp/oat_hook.cpp index 53510424..d3944a18 100644 --- a/dex2oat/src/main/cpp/oat_hook.cpp +++ b/dex2oat/src/main/cpp/oat_hook.cpp @@ -106,7 +106,6 @@ __attribute__((constructor)) static void initialize() { break; } } - LOGD("dex2oat binary %lu:%lu", dev, inode); PLT_HOOK_REGISTER(dev, inode, _ZNK3art9OatHeader20GetKeyValueStoreSizeEv); PLT_HOOK_REGISTER(dev, inode, _ZNK3art9OatHeader16GetKeyValueStoreEv);