Re: [RFC PATCH v12 12/20] dm verity: set DM_TARGET_SINGLETON feature flag

From: Mike Snitzer
Date: Fri Feb 02 2024 - 14:06:29 EST


On Tue, Jan 30 2024 at 5:37P -0500,
Fan Wu <wufan@xxxxxxxxxxxxxxxxxxx> wrote:

> The device-mapper has a flag to mark targets as singleton, which is a
> required flag for immutable targets. Without this flag, multiple
> dm-verity targets can be added to a mapped device, which has no
> practical use cases and will let dm_table_get_immutable_target return
> NULL. This patch adds the missing flag, restricting only one
> dm-verity target per mapped device.
>
> Signed-off-by: Fan Wu <wufan@xxxxxxxxxxxxxxxxxxx>
>
> ---
> v1-v10:
> + Not present
>
> v11:
> + Introduced
>
> v12:
> + No changes
> ---
> drivers/md/dm-verity-target.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-verity-target.c b/drivers/md/dm-verity-target.c
> index 14e58ae70521..66a850c02be4 100644
> --- a/drivers/md/dm-verity-target.c
> +++ b/drivers/md/dm-verity-target.c
> @@ -1507,7 +1507,7 @@ int dm_verity_get_root_digest(struct dm_target *ti, u8 **root_digest, unsigned i
>
> static struct target_type verity_target = {
> .name = "verity",
> - .features = DM_TARGET_IMMUTABLE,
> + .features = DM_TARGET_SINGLETON | DM_TARGET_IMMUTABLE,
> .version = {1, 9, 0},
> .module = THIS_MODULE,
> .ctr = verity_ctr,
> --
> 2.43.0
>
>

It is true this change will cause dm_table_get_immutable_target() to
not return NULL, but: I'm curious how that is meaningful in the
context of dm-verity? (given the only caller of
dm_table_get_immutable_target() is request-based DM code in DM core.)

Thanks,
Mike