summaryrefslogtreecommitdiff
path: root/drivers/md
diff options
context:
space:
mode:
authorBadhri Jagan Sridharan <Badhri@google.com>2016-06-27 16:25:55 -0700
committerVikram Mulukutla <markivx@codeaurora.org>2016-10-28 14:47:03 -0700
commitec17b238f77eaa68f84ad21b8e1455629fc96920 (patch)
treed50187fa82ff8dfda8f3c9c174f8a8c254034222 /drivers/md
parent1e19beb791d6266552ac0f90f52cd23e587e6b4a (diff)
ANDROID: dm: allow adb disable-verity only in userdebug
adb disable-verity was allowed when the phone is in the unlocked state. Since the driver is now aware of the build variant, honor "adb disable-verity" only in userdebug builds. (Cherry-picked from https://partner-android-review.git.corp.google.com/#/c/622117) BUG: 29276559 Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com> Change-Id: I7ce9f38d8c7a62361392c5a8ccebb288f8a3a2ea Git-commit: f74284f6c25dca79c052c3a1e1bd3fc58de4d4a0 Git-repo: https://android.googlesource.com/kernel/common Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
Diffstat (limited to 'drivers/md')
-rw-r--r--drivers/md/dm-android-verity.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/md/dm-android-verity.c b/drivers/md/dm-android-verity.c
index e1a8e284e7e4..999e75bf2ba0 100644
--- a/drivers/md/dm-android-verity.c
+++ b/drivers/md/dm-android-verity.c
@@ -109,6 +109,14 @@ static inline bool is_eng(void)
return !strncmp(buildvariant, typeeng, sizeof(typeeng));
}
+static inline bool is_userdebug(void)
+{
+ static const char typeuserdebug[] = "userdebug";
+
+ return !strncmp(buildvariant, typeuserdebug, sizeof(typeuserdebug));
+}
+
+
static int table_extract_mpi_array(struct public_key_signature *pks,
const void *data, size_t len)
{
@@ -499,19 +507,6 @@ const char *find_dt_value(const char *name)
return value;
}
-static bool is_unlocked(void)
-{
- static const char unlocked[] = "orange";
- static const char verified_boot_prop[] = "verifiedbootstate";
- const char *value;
-
- value = find_dt_value(verified_boot_prop);
- if (!value)
- value = verifiedbootstate;
-
- return !strncmp(value, unlocked, sizeof(unlocked) - 1);
-}
-
static int verity_mode(void)
{
static const char enforcing[] = "enforcing";
@@ -531,7 +526,7 @@ static int verify_header(struct android_metadata_header *header)
{
int retval = -EINVAL;
- if (is_unlocked() && le32_to_cpu(header->magic_number) ==
+ if (is_userdebug() && le32_to_cpu(header->magic_number) ==
VERITY_METADATA_MAGIC_DISABLE) {
retval = VERITY_STATE_DISABLE;
return retval;