[U-Boot] [PATCH v2 1/1] avb2.0: add get_size_of_partition()
Andrew F. Davis
afd at ti.com
Tue Jul 17 13:20:23 UTC 2018
On 07/17/2018 06:44 AM, Igor Opaniuk wrote:
> Implement get_size_of_partition() operation,
> which is required by the latest upstream libavb [1].
>
> [1] https://android.googlesource.com/platform/external/avb/+/master/README.md
>
> Signed-off-by: Igor Opaniuk <igor.opaniuk at linaro.org>
> ---
>
> Changes for v2:
> - changed the return code for the case when out_size_num_bytes is NULL
> (s/AVB_IO_RESULT_ERROR_IO/AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE/g)
>
> common/avb_verify.c | 33 ++++++++++++++++++++++++++++++++-
> 1 file changed, 32 insertions(+), 1 deletion(-)
>
> diff --git a/common/avb_verify.c b/common/avb_verify.c
> index f9a00f8..ab5f9aa 100644
> --- a/common/avb_verify.c
> +++ b/common/avb_verify.c
> @@ -699,6 +699,37 @@ static AvbIOResult get_unique_guid_for_partition(AvbOps *ops,
> }
>
> /**
> + * get_size_of_partition() - gets the size of a partition identified
> + * by a string name
> + *
> + * @ops: contains AVB ops handlers
> + * @partition: partition name (NUL-terminated UTF-8 string)
> + * @out_size_num_bytes: returns the value of a partition size
> + *
> + * @return:
> + * AVB_IO_RESULT_OK, on success (GUID found)
> + * AVB_IO_RESULT_ERROR_IO, out_size_num_bytes is NULL
This needs updated, other than that,
Acked-by: Andrew F. Davis <afd at ti.com>
> + * AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION, if partition was not found
> + */
> +static AvbIOResult get_size_of_partition(AvbOps *ops,
> + const char *partition,
> + u64 *out_size_num_bytes)
> +{
> + struct mmc_part *part;
> +
> + if (!out_size_num_bytes)
> + return AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE;
> +
> + part = get_partition(ops, partition);
> + if (!part)
> + return AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION;
> +
> + *out_size_num_bytes = part->info.blksz * part->info.size;
> +
> + return AVB_IO_RESULT_OK;
> +}
> +
> +/**
> * ============================================================================
> * AVB2.0 AvbOps alloc/initialisation/free
> * ============================================================================
> @@ -721,7 +752,7 @@ AvbOps *avb_ops_alloc(int boot_device)
> ops_data->ops.read_is_device_unlocked = read_is_device_unlocked;
> ops_data->ops.get_unique_guid_for_partition =
> get_unique_guid_for_partition;
> -
> + ops_data->ops.get_size_of_partition = get_size_of_partition;
> ops_data->mmc_dev = boot_device;
>
> return &ops_data->ops;
>
More information about the U-Boot
mailing list