diff options
author | Prashant Malani | 2016-11-16 15:07:23 -0600 |
---|---|---|
committer | android-build-merger | 2016-11-16 15:07:23 -0600 |
commit | afa252cc40a1b77a77e5ba622080ba63864f4246 (patch) | |
tree | 1e1da9eda6ee6d0ae02ec0546c51c6b114df16e4 | |
parent | fd53e73066b28b3766fefdba883c9e60efe63262 (diff) | |
parent | dd78ae75ff91f19106a4c3944fe3170602ac2334 (diff) | |
download | platform-system-core-afa252cc40a1b77a77e5ba622080ba63864f4246.tar.gz platform-system-core-afa252cc40a1b77a77e5ba622080ba63864f4246.tar.xz platform-system-core-afa252cc40a1b77a77e5ba622080ba63864f4246.zip |
fs_mgr: Fix disable-verity for verifyatboot partitions
am: dd78ae75ff
Change-Id: Ib59af63d80d92a04c5dbc16e5d81cd261475f064
-rw-r--r-- | fs_mgr/fs_mgr_verity.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fs_mgr/fs_mgr_verity.cpp b/fs_mgr/fs_mgr_verity.cpp index a0896fab9..aa005209f 100644 --- a/fs_mgr/fs_mgr_verity.cpp +++ b/fs_mgr/fs_mgr_verity.cpp | |||
@@ -833,7 +833,7 @@ int fs_mgr_update_verity_state(fs_mgr_verity_state_callback callback) | |||
833 | char fstab_filename[PROPERTY_VALUE_MAX + sizeof(FSTAB_PREFIX)]; | 833 | char fstab_filename[PROPERTY_VALUE_MAX + sizeof(FSTAB_PREFIX)]; |
834 | const char *mount_point; | 834 | const char *mount_point; |
835 | char propbuf[PROPERTY_VALUE_MAX]; | 835 | char propbuf[PROPERTY_VALUE_MAX]; |
836 | char *status; | 836 | const char *status; |
837 | int fd = -1; | 837 | int fd = -1; |
838 | int i; | 838 | int i; |
839 | int mode; | 839 | int mode; |
@@ -883,9 +883,13 @@ int fs_mgr_update_verity_state(fs_mgr_verity_state_callback callback) | |||
883 | verity_ioctl_init(io, mount_point, 0); | 883 | verity_ioctl_init(io, mount_point, 0); |
884 | 884 | ||
885 | if (ioctl(fd, DM_TABLE_STATUS, io)) { | 885 | if (ioctl(fd, DM_TABLE_STATUS, io)) { |
886 | ERROR("Failed to query DM_TABLE_STATUS for %s (%s)\n", mount_point, | 886 | if (fstab->recs[i].fs_mgr_flags & MF_VERIFYATBOOT) { |
887 | strerror(errno)); | 887 | status = "V"; |
888 | continue; | 888 | } else { |
889 | ERROR("Failed to query DM_TABLE_STATUS for %s (%s)\n", mount_point, | ||
890 | strerror(errno)); | ||
891 | continue; | ||
892 | } | ||
889 | } | 893 | } |
890 | 894 | ||
891 | status = &buffer[io->data_start + sizeof(struct dm_target_spec)]; | 895 | status = &buffer[io->data_start + sizeof(struct dm_target_spec)]; |
@@ -945,11 +949,11 @@ int fs_mgr_setup_verity(struct fstab_rec *fstab) | |||
945 | struct fec_handle *f = NULL; | 949 | struct fec_handle *f = NULL; |
946 | struct fec_verity_metadata verity; | 950 | struct fec_verity_metadata verity; |
947 | struct verity_table_params params = { .table = NULL }; | 951 | struct verity_table_params params = { .table = NULL }; |
948 | bool verified_at_boot = false; | ||
949 | 952 | ||
950 | alignas(dm_ioctl) char buffer[DM_BUF_SIZE]; | 953 | alignas(dm_ioctl) char buffer[DM_BUF_SIZE]; |
951 | struct dm_ioctl *io = (struct dm_ioctl *) buffer; | 954 | struct dm_ioctl *io = (struct dm_ioctl *) buffer; |
952 | char *mount_point = basename(fstab->mount_point); | 955 | char *mount_point = basename(fstab->mount_point); |
956 | bool verified_at_boot = false; | ||
953 | 957 | ||
954 | if (fec_open(&f, fstab->blk_device, O_RDONLY, FEC_VERITY_DISABLE, | 958 | if (fec_open(&f, fstab->blk_device, O_RDONLY, FEC_VERITY_DISABLE, |
955 | FEC_DEFAULT_ROOTS) < 0) { | 959 | FEC_DEFAULT_ROOTS) < 0) { |