Loading init/firmware_handler.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -264,8 +264,9 @@ std::string FirmwareHandler::GetFirmwarePath(const Uevent& uevent) const { return uevent.firmware; } void FirmwareHandler::ProcessFirmwareEvent(const std::string& root, void FirmwareHandler::ProcessFirmwareEvent(const std::string& path, const std::string& firmware) const { std::string root = "/sys" + path; std::string loading = root + "/loading"; std::string data = root + "/data"; Loading Loading @@ -296,6 +297,7 @@ void FirmwareHandler::ProcessFirmwareEvent(const std::string& root, ", fstat failed: " + strerror(errno)); return false; } LOG(INFO) << "found " << file << " for " << path; LoadFirmware(firmware, root, fw_fd.get(), sb.st_size, loading_fd.get(), data_fd.get()); return true; }; Loading Loading @@ -362,7 +364,7 @@ void FirmwareHandler::HandleUevent(const Uevent& uevent) { if (pid == 0) { Timer t; auto firmware = GetFirmwarePath(uevent); ProcessFirmwareEvent("/sys" + uevent.path, firmware); ProcessFirmwareEvent(uevent.path, firmware); LOG(INFO) << "loading " << uevent.path << " took " << t; _exit(EXIT_SUCCESS); } Loading init/firmware_handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ class FirmwareHandler : public UeventHandler { Result<std::string> RunExternalHandler(const std::string& handler, uid_t uid, gid_t gid, const Uevent& uevent) const; std::string GetFirmwarePath(const Uevent& uevent) const; void ProcessFirmwareEvent(const std::string& root, const std::string& firmware) const; void ProcessFirmwareEvent(const std::string& path, const std::string& firmware) const; bool ForEachFirmwareDirectory(std::function<bool(const std::string&)> handler) const; std::vector<std::string> firmware_directories_; Loading init/security.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -114,10 +114,9 @@ Result<void> SetMmapRndBitsAction(const BuiltinArguments&) { return {}; } #elif defined(__riscv) // TODO: sv48 and sv57 have both been added to the kernel, but the kernel // still doesn't support more than 24 bits. // https://github.com/google/android-riscv64/issues/1 if (SetMmapRndBitsMin(24, 24, false)) { // riscv64 supports 24 rnd bits with Sv39, and starting with the 6.9 kernel, // 33 bits with Sv48 and Sv57. if (SetMmapRndBitsMin(33, 24, false)) { return {}; } #elif defined(__x86_64__) Loading rootdir/init.rc +1 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ on post-fs mkdir /metadata/aconfig 0775 root system mkdir /metadata/aconfig/flags 0770 root system mkdir /metadata/aconfig/maps 0775 root system mkdir /metadata/aconfig/boot 0775 root system mkdir /metadata/aconfig_test_missions 0775 root system Loading Loading
init/firmware_handler.cpp +4 −2 Original line number Diff line number Diff line Loading @@ -264,8 +264,9 @@ std::string FirmwareHandler::GetFirmwarePath(const Uevent& uevent) const { return uevent.firmware; } void FirmwareHandler::ProcessFirmwareEvent(const std::string& root, void FirmwareHandler::ProcessFirmwareEvent(const std::string& path, const std::string& firmware) const { std::string root = "/sys" + path; std::string loading = root + "/loading"; std::string data = root + "/data"; Loading Loading @@ -296,6 +297,7 @@ void FirmwareHandler::ProcessFirmwareEvent(const std::string& root, ", fstat failed: " + strerror(errno)); return false; } LOG(INFO) << "found " << file << " for " << path; LoadFirmware(firmware, root, fw_fd.get(), sb.st_size, loading_fd.get(), data_fd.get()); return true; }; Loading Loading @@ -362,7 +364,7 @@ void FirmwareHandler::HandleUevent(const Uevent& uevent) { if (pid == 0) { Timer t; auto firmware = GetFirmwarePath(uevent); ProcessFirmwareEvent("/sys" + uevent.path, firmware); ProcessFirmwareEvent(uevent.path, firmware); LOG(INFO) << "loading " << uevent.path << " took " << t; _exit(EXIT_SUCCESS); } Loading
init/firmware_handler.h +1 −1 Original line number Diff line number Diff line Loading @@ -57,7 +57,7 @@ class FirmwareHandler : public UeventHandler { Result<std::string> RunExternalHandler(const std::string& handler, uid_t uid, gid_t gid, const Uevent& uevent) const; std::string GetFirmwarePath(const Uevent& uevent) const; void ProcessFirmwareEvent(const std::string& root, const std::string& firmware) const; void ProcessFirmwareEvent(const std::string& path, const std::string& firmware) const; bool ForEachFirmwareDirectory(std::function<bool(const std::string&)> handler) const; std::vector<std::string> firmware_directories_; Loading
init/security.cpp +3 −4 Original line number Diff line number Diff line Loading @@ -114,10 +114,9 @@ Result<void> SetMmapRndBitsAction(const BuiltinArguments&) { return {}; } #elif defined(__riscv) // TODO: sv48 and sv57 have both been added to the kernel, but the kernel // still doesn't support more than 24 bits. // https://github.com/google/android-riscv64/issues/1 if (SetMmapRndBitsMin(24, 24, false)) { // riscv64 supports 24 rnd bits with Sv39, and starting with the 6.9 kernel, // 33 bits with Sv48 and Sv57. if (SetMmapRndBitsMin(33, 24, false)) { return {}; } #elif defined(__x86_64__) Loading
rootdir/init.rc +1 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,7 @@ on post-fs mkdir /metadata/aconfig 0775 root system mkdir /metadata/aconfig/flags 0770 root system mkdir /metadata/aconfig/maps 0775 root system mkdir /metadata/aconfig/boot 0775 root system mkdir /metadata/aconfig_test_missions 0775 root system Loading