Loading fs_mgr/fs_mgr_fstab.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ #include <android-base/file.h> #include <android-base/parseint.h> #include <android-base/properties.h> #include <android-base/stringprintf.h> #include <android-base/strings.h> #include <libgsi/libgsi.h> Loading Loading @@ -659,6 +660,21 @@ void TransformFstabForDsu(Fstab* fstab, const std::vector<std::string>& dsu_part } } void EnableMandatoryFlags(Fstab* fstab) { // Devices launched in R and after should enable fs_verity on userdata. The flag causes tune2fs // to enable the feature. A better alternative would be to enable on mkfs at the beginning. if (android::base::GetIntProperty("ro.product.first_api_level", 0) >= 30) { std::vector<FstabEntry*> data_entries = GetEntriesForMountPoint(fstab, "/data"); for (auto&& entry : data_entries) { // Besides ext4, f2fs is also supported. But the image is already created with verity // turned on when it was first introduced. if (entry->fs_type == "ext4") { entry->fs_mgr_flags.fs_verity = true; } } } } bool ReadFstabFromFile(const std::string& path, Fstab* fstab) { auto fstab_file = std::unique_ptr<FILE, decltype(&fclose)>{fopen(path.c_str(), "re"), fclose}; if (!fstab_file) { Loading @@ -679,6 +695,7 @@ bool ReadFstabFromFile(const std::string& path, Fstab* fstab) { } SkipMountingPartitions(fstab); EnableMandatoryFlags(fstab); return true; } Loading Loading
fs_mgr/fs_mgr_fstab.cpp +17 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ #include <android-base/file.h> #include <android-base/parseint.h> #include <android-base/properties.h> #include <android-base/stringprintf.h> #include <android-base/strings.h> #include <libgsi/libgsi.h> Loading Loading @@ -659,6 +660,21 @@ void TransformFstabForDsu(Fstab* fstab, const std::vector<std::string>& dsu_part } } void EnableMandatoryFlags(Fstab* fstab) { // Devices launched in R and after should enable fs_verity on userdata. The flag causes tune2fs // to enable the feature. A better alternative would be to enable on mkfs at the beginning. if (android::base::GetIntProperty("ro.product.first_api_level", 0) >= 30) { std::vector<FstabEntry*> data_entries = GetEntriesForMountPoint(fstab, "/data"); for (auto&& entry : data_entries) { // Besides ext4, f2fs is also supported. But the image is already created with verity // turned on when it was first introduced. if (entry->fs_type == "ext4") { entry->fs_mgr_flags.fs_verity = true; } } } } bool ReadFstabFromFile(const std::string& path, Fstab* fstab) { auto fstab_file = std::unique_ptr<FILE, decltype(&fclose)>{fopen(path.c_str(), "re"), fclose}; if (!fstab_file) { Loading @@ -679,6 +695,7 @@ bool ReadFstabFromFile(const std::string& path, Fstab* fstab) { } SkipMountingPartitions(fstab); EnableMandatoryFlags(fstab); return true; } Loading