summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Compostella <jeremy.compostella@intel.com>2016-04-15 13:32:54 +0200
committerVikram Mulukutla <markivx@codeaurora.org>2016-10-28 14:47:00 -0700
commitcf53c2952848e7112107ef1d5f40630dbc89945d (patch)
treef15ca87812824882c7f664d581eeaa64198e94ee
parent583c9f05ff269cea355e49f627d8eba635b470c7 (diff)
ANDROID: dm: use name_to_dev_t
This patch makes android_verity_ctr() parse its block device string parameter with name_to_dev_t(). It allows the use of less hardware related block device reference like PARTUUID for instance. Change-Id: Idb84453e70cc11abd5ef3a0adfbb16f8b5feaf07 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Git-commit: a517817c1708dd9d762d37d7dd475d4728a4b34e Git-repo: https://android.googlesource.com/kernel/common Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
-rw-r--r--drivers/md/dm-android-verity.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/md/dm-android-verity.c b/drivers/md/dm-android-verity.c
index b7e059595f75..9c26cbb5f179 100644
--- a/drivers/md/dm-android-verity.c
+++ b/drivers/md/dm-android-verity.c
@@ -613,8 +613,7 @@ static int android_verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
/* One for specifying number of opt args and one for mode */
sector_t data_sectors;
u32 data_block_size;
- unsigned int major, minor,
- no_of_args = VERITY_TABLE_ARGS + 2 + VERITY_TABLE_OPT_FEC_ARGS;
+ unsigned int no_of_args = VERITY_TABLE_ARGS + 2 + VERITY_TABLE_OPT_FEC_ARGS;
struct fec_header uninitialized_var(fec);
struct fec_ecc_metadata uninitialized_var(ecc);
char buf[FEC_ARG_LENGTH], *buf_ptr;
@@ -630,13 +629,11 @@ static int android_verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
key_id = argv[0];
strreplace(argv[0], '#', ' ');
- if (sscanf(argv[1], "%u:%u%c", &major, &minor, &dummy) == 2) {
- dev = MKDEV(major, minor);
- if (MAJOR(dev) != major || MINOR(dev) != minor) {
- DMERR("Incorrect bdev major minor number");
- handle_error();
- return -EOVERFLOW;
- }
+ dev = name_to_dev_t(argv[1]);
+ if (!dev) {
+ DMERR("no dev found for %s", argv[1]);
+ handle_error();
+ return -EINVAL;
}
DMINFO("key:%s dev:%s", argv[0], argv[1]);