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

Commit 2324fda1 authored by Xin Li's avatar Xin Li Committed by Gerrit Code Review
Browse files

Merge "Merge 25Q1 (ab/BP1A.250305.020) to AOSP main" into main

parents 158a0c9e b9b37086
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -170,7 +170,7 @@ cc_binary {
        "android.hardware.fastboot@1.1",
        "android.hardware.fastboot-V1-ndk",
        "android.hardware.health@2.0",
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
        "libasyncio",
        "libbase",
        "libbinder_ndk",
+14 −0
Original line number Diff line number Diff line
@@ -551,6 +551,17 @@ bool DeviceMapper::GetTableInfo(const std::string& name, std::vector<TargetInfo>
    return GetTable(name, DM_STATUS_TABLE_FLAG, table);
}

void RedactTableInfo(const struct dm_target_spec& spec, std::string* data) {
    if (DeviceMapper::GetTargetType(spec) == "crypt") {
        auto parts = android::base::Split(*data, " ");
        if (parts.size() < 2) {
            return;
        }
        parts[1] = "redacted";
        *data = android::base::Join(parts, " ");
    }
}

// private methods of DeviceMapper
bool DeviceMapper::GetTable(const std::string& name, uint32_t flags,
                            std::vector<TargetInfo>* table) {
@@ -589,6 +600,9 @@ bool DeviceMapper::GetTable(const std::string& name, uint32_t flags,
            // Note: we use c_str() to eliminate any extra trailing 0s.
            data = std::string(&buffer[data_offset], next_cursor - data_offset).c_str();
        }
        if (flags & DM_STATUS_TABLE_FLAG) {
            RedactTableInfo(*spec, &data);
        }
        table->emplace_back(*spec, data);
        cursor = next_cursor;
    }
+28 −0
Original line number Diff line number Diff line
@@ -814,3 +814,31 @@ TEST_F(DmTest, ThinProvisioning) {
    TempDevice thin("thin", thinTable);
    ASSERT_TRUE(thin.valid());
}

TEST_F(DmTest, RedactDmCrypt) {
    static constexpr uint64_t kImageSize = 65536;
    unique_fd temp_file(CreateTempFile("file_1", kImageSize));
    ASSERT_GE(temp_file, 0);

    LoopDevice loop(temp_file, 10s);
    ASSERT_TRUE(loop.valid());

    static constexpr const char* kAlgorithm = "aes-cbc-essiv:sha256";
    static constexpr const char* kKey = "0e64ef514e6a1315b1f6390cb57c9e6a";

    auto target = std::make_unique<DmTargetCrypt>(0, kImageSize / 512, kAlgorithm, kKey, 0,
                                                  loop.device(), 0);
    target->AllowDiscards();

    DmTable table;
    table.AddTarget(std::move(target));

    auto& dm = DeviceMapper::Instance();
    std::string crypt_path;
    ASSERT_TRUE(dm.CreateDevice(test_name_, table, &crypt_path, 10s));

    std::vector<DeviceMapper::TargetInfo> targets;
    ASSERT_TRUE(dm.GetTableInfo(test_name_, &targets));
    ASSERT_EQ(targets.size(), 1);
    EXPECT_EQ(targets[0].data.find(kKey), std::string::npos);
}
+11 −8
Original line number Diff line number Diff line
@@ -4,7 +4,10 @@ package {

cc_defaults {
    name: "libbatterymonitor_defaults",
    cflags: ["-Wall", "-Werror"],
    cflags: [
        "-Wall",
        "-Werror",
    ],
    vendor_available: true,
    recovery_available: true,
    export_include_dirs: ["include"],
@@ -76,7 +79,7 @@ cc_library_static {
    defaults: ["libbatterymonitor_defaults"],
    srcs: ["BatteryMonitor.cpp"],
    static_libs: [
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
    ],
    whole_static_libs: [
        // Need to translate HIDL to AIDL to support legacy APIs in
@@ -165,12 +168,12 @@ cc_library_static {
    defaults: ["libhealthd_charger_ui_defaults"],

    static_libs: [
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
        "android.hardware.health-translate-ndk",
    ],

    export_static_lib_headers: [
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
    ],
}

@@ -242,7 +245,7 @@ cc_defaults {
    static_libs: [
        // common
        "android.hardware.health@1.0-convert",
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
        "libbatterymonitor",
        "libcharger_sysprop",
        "libhealthd_charger_nops",
@@ -287,8 +290,8 @@ cc_binary {
                "libminui",
                "libsuspend",
            ],
        }
    }
        },
    },
}

cc_test {
@@ -307,7 +310,7 @@ cc_test {
    defaults: ["charger_defaults"],
    srcs: [
        "AnimationParser_test.cpp",
        "healthd_mode_charger_test.cpp"
        "healthd_mode_charger_test.cpp",
    ],
    static_libs: [
        "android.hardware.health@1.0",
+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ cc_defaults {
    shared_libs: [
        "android.hardware.health@1.0",
        "android.hardware.health@2.0",
        "android.hardware.health-V3-ndk",
        "android.hardware.health-V4-ndk",
        "libbase",
        "libbinder",
        "libbinder_ndk",
@@ -47,7 +47,7 @@ cc_defaults {
        "-Wall",
        "-Werror",
        "-Wextra",
        "-Wno-unused-parameter"
        "-Wno-unused-parameter",
    ],
}