[U-Boot] [PATCH v3 1/1] avb2.0: add get_size_of_partition()
Sam Protsenko
semen.protsenko at linaro.org
Mon Aug 13 14:46:13 UTC 2018
On Fri, Aug 10, 2018 at 5:14 PM, Igor Opaniuk <igor.opaniuk at linaro.org> wrote:
> Sam,
>
> Could you please double-check this patch and confirm that your tag can
> be still applied?
>
Sure.
Reviewed-by: Sam Protsenko <semen.protsenko at linaro.org>
> Thanks!
>
> On 10 August 2018 at 17:06, Andrew F. Davis <afd at ti.com> wrote:
>> On 08/10/2018 08:59 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/+/android-p-preview-5
>>>
>>> Signed-off-by: Igor Opaniuk <igor.opaniuk at linaro.org>
>>
>>
>> Sam reviewed v1, not sure enough changed to drop his review tag, anyway
>> for me:
>>
>> Acked-by: Andrew F. Davis <afd at ti.com>
>>
>>> ---
>>>
>>> Changes for v3:
>>> - reword commit message, added avblib repository link, that stick to specific
>>> tag
>>> - fix get_size_of_partition() function description.
>>>
>>> Changes for v2:
>>> - change 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 20e35ad..82ddebc 100644
>>> --- a/common/avb_verify.c
>>> +++ b/common/avb_verify.c
>>> @@ -700,6 +700,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_INSUFFICIENT_SPACE, out_size_num_bytes is NULL
>>> + * 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
>>> * ============================================================================
>>> @@ -722,7 +753,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;
>>>
>
>
>
> --
> Regards,
> Igor Opaniuk
More information about the U-Boot
mailing list