system/core
Revisión | 6693180dd0891dc84385ba8052bdb3f5df36da83 (tree) |
---|---|
Tiempo | 2020-03-10 13:37:30 |
Autor | Chih-Wei Huang <cwhuang@linu...> |
Commiter | Chih-Wei Huang |
Merge tag 'android-10.0.0_r32' into q-x86
Android 10.0.0 Release 32 (QQ2A.200305.004.A1)
@@ -790,15 +790,16 @@ std::set<std::string> GetBootDevices() { | ||
790 | 790 | |
791 | 791 | FstabEntry BuildGsiSystemFstabEntry() { |
792 | 792 | // .logical_partition_name is required to look up AVB Hashtree descriptors. |
793 | - FstabEntry system = { | |
794 | - .blk_device = "system_gsi", | |
795 | - .mount_point = "/system", | |
796 | - .fs_type = "ext4", | |
797 | - .flags = MS_RDONLY, | |
798 | - .fs_options = "barrier=1", | |
799 | - // could add more keys separated by ':'. | |
800 | - .avb_keys = "/avb/q-gsi.avbpubkey:/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey", | |
801 | - .logical_partition_name = "system"}; | |
793 | + FstabEntry system = {.blk_device = "system_gsi", | |
794 | + .mount_point = "/system", | |
795 | + .fs_type = "ext4", | |
796 | + .flags = MS_RDONLY, | |
797 | + .fs_options = "barrier=1", | |
798 | + // could add more keys separated by ':'. | |
799 | + .avb_keys = | |
800 | + "/avb/q-gsi.avbpubkey:/avb/q-developer-gsi.avbpubkey:" | |
801 | + "/avb/r-gsi.avbpubkey:/avb/s-gsi.avbpubkey", | |
802 | + .logical_partition_name = "system"}; | |
802 | 803 | system.fs_mgr_flags.wait = true; |
803 | 804 | system.fs_mgr_flags.logical = true; |
804 | 805 | system.fs_mgr_flags.first_stage_mount = true; |
@@ -396,6 +396,7 @@ void Service::Reap(const siginfo_t& siginfo) { | ||
396 | 396 | LOG(ERROR) << "updatable process '" << name_ << "' exited 4 times " |
397 | 397 | << (boot_completed ? "in 4 minutes" : "before boot completed"); |
398 | 398 | // Notifies update_verifier and apexd |
399 | + property_set("ro.init.updatable_crashing_process_name", name_); | |
399 | 400 | property_set("ro.init.updatable_crashing", "1"); |
400 | 401 | } |
401 | 402 | } |
@@ -47,7 +47,12 @@ public: | ||
47 | 47 | |
48 | 48 | template<size_t N> |
49 | 49 | static size_t align(void*& buffer) { |
50 | - return align<N>( const_cast<void const*&>(buffer) ); | |
50 | + static_assert(!(N & (N - 1)), "Can only align to a power of 2."); | |
51 | + void* b = buffer; | |
52 | + buffer = reinterpret_cast<void*>((uintptr_t(buffer) + (N-1)) & ~(N-1)); | |
53 | + size_t delta = size_t(uintptr_t(buffer) - uintptr_t(b)); | |
54 | + memset(b, 0, delta); | |
55 | + return delta; | |
51 | 56 | } |
52 | 57 | |
53 | 58 | static void advance(void*& buffer, size_t& size, size_t offset) { |
@@ -16,6 +16,21 @@ endif | ||
16 | 16 | include $(BUILD_PREBUILT) |
17 | 17 | |
18 | 18 | ####################################### |
19 | +# q-developer-gsi.avbpubkey | |
20 | +include $(CLEAR_VARS) | |
21 | + | |
22 | +LOCAL_MODULE := q-developer-gsi.avbpubkey | |
23 | +LOCAL_MODULE_CLASS := ETC | |
24 | +LOCAL_SRC_FILES := $(LOCAL_MODULE) | |
25 | +ifeq ($(BOARD_USES_RECOVERY_AS_BOOT),true) | |
26 | +LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/first_stage_ramdisk/avb | |
27 | +else | |
28 | +LOCAL_MODULE_PATH := $(TARGET_RAMDISK_OUT)/avb | |
29 | +endif | |
30 | + | |
31 | +include $(BUILD_PREBUILT) | |
32 | + | |
33 | +####################################### | |
19 | 34 | # r-gsi.avbpubkey |
20 | 35 | include $(CLEAR_VARS) |
21 | 36 |