ANDROID: dm: android-verity: Allow android-verity to be compiled as an independent...
authorBadhri Jagan Sridharan <Badhri@google.com>
Tue, 23 Aug 2016 18:32:37 +0000 (11:32 -0700)
committerAmit Pundir <amit.pundir@linaro.org>
Wed, 14 Sep 2016 08:56:20 +0000 (14:26 +0530)
Exports the device mapper callbacks of linear and dm-verity-target
methods.

Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I0358be0615c431dce3cc78575aaac4ccfe3aacd7

drivers/md/Kconfig
drivers/md/Makefile
drivers/md/dm-linear.c
drivers/md/dm-verity-target.c

index 96b419b544ed130eb593e330565fdbd62e5f2887..6035794bc1f208809aa0175685a3a15f58fc2c7d 100644 (file)
@@ -501,7 +501,7 @@ config DM_LOG_WRITES
          If unsure, say N.
 
 config DM_ANDROID_VERITY
-       bool "Android verity target support"
+       tristate "Android verity target support"
        depends on DM_VERITY
        depends on X509_CERTIFICATE_PARSER
        depends on SYSTEM_TRUSTED_KEYRING
@@ -509,6 +509,7 @@ config DM_ANDROID_VERITY
        depends on KEYS
        depends on ASYMMETRIC_KEY_TYPE
        depends on ASYMMETRIC_PUBLIC_KEY_SUBTYPE
+       depends on MD_LINEAR
        ---help---
          This device-mapper target is virtually a VERITY target. This
          target is setup by reading the metadata contents piggybacked
index c8fb00d8cc36e0b2a5fcd20652f57f796d231ac7..32b5d0a90d603ee51121e257ef2e3ff1b9c85e13 100644 (file)
@@ -60,6 +60,7 @@ obj-$(CONFIG_DM_CACHE_SMQ)    += dm-cache-smq.o
 obj-$(CONFIG_DM_CACHE_CLEANER) += dm-cache-cleaner.o
 obj-$(CONFIG_DM_ERA)           += dm-era.o
 obj-$(CONFIG_DM_LOG_WRITES)    += dm-log-writes.o
+obj-$(CONFIG_DM_ANDROID_VERITY) += dm-android-verity.o
 
 ifeq ($(CONFIG_DM_UEVENT),y)
 dm-mod-objs                    += dm-uevent.o
@@ -68,7 +69,3 @@ endif
 ifeq ($(CONFIG_DM_VERITY_FEC),y)
 dm-verity-objs                 += dm-verity-fec.o
 endif
-
-ifeq ($(CONFIG_DM_ANDROID_VERITY),y)
-dm-verity-objs                 += dm-android-verity.o
-endif
index 8505a771de42d1c147e05eb4051d5830731516de..2ff5f32a4b99c1762d9c293902af89a56ac6bc5a 100644 (file)
@@ -66,6 +66,7 @@ int dm_linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
        kfree(lc);
        return ret;
 }
+EXPORT_SYMBOL_GPL(dm_linear_ctr);
 
 void dm_linear_dtr(struct dm_target *ti)
 {
@@ -74,6 +75,7 @@ void dm_linear_dtr(struct dm_target *ti)
        dm_put_device(ti, lc->dev);
        kfree(lc);
 }
+EXPORT_SYMBOL_GPL(dm_linear_dtr);
 
 static sector_t linear_map_sector(struct dm_target *ti, sector_t bi_sector)
 {
@@ -98,6 +100,7 @@ int dm_linear_map(struct dm_target *ti, struct bio *bio)
 
        return DM_MAPIO_REMAPPED;
 }
+EXPORT_SYMBOL_GPL(dm_linear_map);
 
 void dm_linear_status(struct dm_target *ti, status_type_t type,
                          unsigned status_flags, char *result, unsigned maxlen)
@@ -115,6 +118,7 @@ void dm_linear_status(struct dm_target *ti, status_type_t type,
                break;
        }
 }
+EXPORT_SYMBOL_GPL(dm_linear_status);
 
 int dm_linear_prepare_ioctl(struct dm_target *ti,
                struct block_device **bdev, fmode_t *mode)
@@ -132,6 +136,7 @@ int dm_linear_prepare_ioctl(struct dm_target *ti,
                return 1;
        return 0;
 }
+EXPORT_SYMBOL_GPL(dm_linear_prepare_ioctl);
 
 int dm_linear_iterate_devices(struct dm_target *ti,
                                  iterate_devices_callout_fn fn, void *data)
@@ -140,6 +145,7 @@ int dm_linear_iterate_devices(struct dm_target *ti,
 
        return fn(ti, lc->dev, lc->start, ti->len, data);
 }
+EXPORT_SYMBOL_GPL(dm_linear_iterate_devices);
 
 static struct target_type linear_target = {
        .name   = "linear",
index 5214ed2c7507632c24378eb3adaa0313bf65228f..9d3d4b2972011f090696e9e9b9105a80b967e272 100644 (file)
@@ -592,6 +592,7 @@ int verity_map(struct dm_target *ti, struct bio *bio)
 
        return DM_MAPIO_SUBMITTED;
 }
+EXPORT_SYMBOL_GPL(verity_map);
 
 /*
  * Status: V (valid) or C (corruption found)
@@ -655,6 +656,7 @@ void verity_status(struct dm_target *ti, status_type_t type,
                break;
        }
 }
+EXPORT_SYMBOL_GPL(verity_status);
 
 int verity_prepare_ioctl(struct dm_target *ti,
                struct block_device **bdev, fmode_t *mode)
@@ -668,6 +670,7 @@ int verity_prepare_ioctl(struct dm_target *ti,
                return 1;
        return 0;
 }
+EXPORT_SYMBOL_GPL(verity_prepare_ioctl);
 
 int verity_iterate_devices(struct dm_target *ti,
                                  iterate_devices_callout_fn fn, void *data)
@@ -676,6 +679,7 @@ int verity_iterate_devices(struct dm_target *ti,
 
        return fn(ti, v->data_dev, v->data_start, ti->len, data);
 }
+EXPORT_SYMBOL_GPL(verity_iterate_devices);
 
 void verity_io_hints(struct dm_target *ti, struct queue_limits *limits)
 {
@@ -689,6 +693,7 @@ void verity_io_hints(struct dm_target *ti, struct queue_limits *limits)
 
        blk_limits_io_min(limits, limits->logical_block_size);
 }
+EXPORT_SYMBOL_GPL(verity_io_hints);
 
 void verity_dtr(struct dm_target *ti)
 {
@@ -719,6 +724,7 @@ void verity_dtr(struct dm_target *ti)
 
        kfree(v);
 }
+EXPORT_SYMBOL_GPL(verity_dtr);
 
 static int verity_alloc_zero_digest(struct dm_verity *v)
 {
@@ -1053,6 +1059,7 @@ bad:
 
        return r;
 }
+EXPORT_SYMBOL_GPL(verity_ctr);
 
 static struct target_type verity_target = {
        .name           = "verity",