From 9e9efcadc5144e465314d30ca7b3db0ec0a2bc57 Mon Sep 17 00:00:00 2001 From: Sami Tolvanen Date: Mon, 7 Dec 2015 12:33:58 +0000 Subject: [PATCH] init: set ro.boot.flash.locked from ro.boot.verifiedbootstate If ro.oem_unlock_supported is specified for the device and it supports verified boot, export lock status in ro.boot.flash.locked. Bug: 26039090 Change-Id: Ie7844aeb458c97944c72d46ea962b9cfb0a7875d --- init/init.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/init/init.cpp b/init/init.cpp index 9f4f6254d..4aef82372 100644 --- a/init/init.cpp +++ b/init/init.cpp @@ -350,6 +350,18 @@ static void import_kernel_nv(const std::string& key, const std::string& value, b } } +static void export_oem_lock_status() { + if (property_get("ro.oem_unlock_supported") != "1") { + return; + } + + std::string value = property_get("ro.boot.verifiedbootstate"); + + if (!value.empty()) { + property_set("ro.boot.flash.locked", value == "orange" ? "0" : "1"); + } +} + static void export_kernel_boot_props() { struct { const char *src_prop; @@ -614,6 +626,7 @@ int main(int argc, char** argv) { signal_handler_init(); property_load_boot_defaults(); + export_oem_lock_status(); start_property_service(); const BuiltinFunctionMap function_map;