summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrashant Malani2016-11-16 15:07:23 -0600
committerandroid-build-merger2016-11-16 15:07:23 -0600
commitafa252cc40a1b77a77e5ba622080ba63864f4246 (patch)
tree1e1da9eda6ee6d0ae02ec0546c51c6b114df16e4
parentfd53e73066b28b3766fefdba883c9e60efe63262 (diff)
parentdd78ae75ff91f19106a4c3944fe3170602ac2334 (diff)
downloadplatform-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.cpp14
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) {