Re: [PATCH v2] android_ab: don't ignore ab_control_store return code

2024-01-12 Thread Tom Rini
On Mon, Dec 25, 2023 at 01:22:45PM +0300, Alexey Romanov wrote:

> ab_control_store() can return an error if writing to disk fails.
> In this case, we have to pass the error code to the caller.
> 
> Signed-off-by: Alexey Romanov 
> Reviewed-by: Mattijs Korpershoek 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature


Re: [PATCH v2] android_ab: don't ignore ab_control_store return code

2024-01-12 Thread Mattijs Korpershoek
Hi Alexey,

On Tue, Jan 09, 2024 at 10:37, Alexey Romanov  
wrote:

> + Tom Rini
>
> Hello! Please, ping

It seems that Igor (the Android AB maintainer) has been busy elsewhere.

I've requested to take over maintainership:
https://lore.kernel.org/all/20240112-maintainers-ab-v1-0-f2a538eab...@baylibre.com/

If that gets accepted, I will pick up this patch.

Thank you for your patience,

Mattijs

>
> On Mon, Dec 25, 2023 at 01:22:45PM +0300, Alexey Romanov wrote:
>> ab_control_store() can return an error if writing to disk fails.
>> In this case, we have to pass the error code to the caller.
>> 
>> Signed-off-by: Alexey Romanov 
>> Reviewed-by: Mattijs Korpershoek 
>> ---
>>  boot/android_ab.c | 16 ++--
>>  1 file changed, 14 insertions(+), 2 deletions(-)
>> 
>> diff --git a/boot/android_ab.c b/boot/android_ab.c
>> index 73b55c196c..af3c375e07 100644
>> --- a/boot/android_ab.c
>> +++ b/boot/android_ab.c
>> @@ -337,7 +337,14 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
>> disk_partition *part_info,
>>  
>>  if (store_needed) {
>>  abc->crc32_le = ab_control_compute_crc(abc);
>> -ab_control_store(dev_desc, part_info, abc, 0);
>> +ret = ab_control_store(dev_desc, part_info, abc, 0);
>> +if (ret < 0) {
>> +#if ANDROID_AB_BACKUP_OFFSET
>> +free(backup_abc);
>> +#endif
>> +free(abc);
>> +return ret;
>> +}
>>  }
>>  
>>  #if ANDROID_AB_BACKUP_OFFSET
>> @@ -346,8 +353,13 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
>> disk_partition *part_info,
>>   * to the backup offset
>>   */
>>  if (memcmp(backup_abc, abc, sizeof(*abc)) != 0) {
>> -ab_control_store(dev_desc, part_info, abc,
>> +ret = ab_control_store(dev_desc, part_info, abc,
>>   ANDROID_AB_BACKUP_OFFSET);
>> +if (ret < 0) {
>> +free(backup_abc);
>> +free(abc);
>> +return ret;
>> +}
>>  }
>>  free(backup_abc);
>>  #endif
>> -- 
>> 2.39.2
>> 
>
> -- 
> Thank you,
> Alexey


Re: [PATCH v2] android_ab: don't ignore ab_control_store return code

2024-01-09 Thread Alexey Romanov
+ Tom Rini

Hello! Please, ping

On Mon, Dec 25, 2023 at 01:22:45PM +0300, Alexey Romanov wrote:
> ab_control_store() can return an error if writing to disk fails.
> In this case, we have to pass the error code to the caller.
> 
> Signed-off-by: Alexey Romanov 
> Reviewed-by: Mattijs Korpershoek 
> ---
>  boot/android_ab.c | 16 ++--
>  1 file changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/boot/android_ab.c b/boot/android_ab.c
> index 73b55c196c..af3c375e07 100644
> --- a/boot/android_ab.c
> +++ b/boot/android_ab.c
> @@ -337,7 +337,14 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
> disk_partition *part_info,
>  
>   if (store_needed) {
>   abc->crc32_le = ab_control_compute_crc(abc);
> - ab_control_store(dev_desc, part_info, abc, 0);
> + ret = ab_control_store(dev_desc, part_info, abc, 0);
> + if (ret < 0) {
> +#if ANDROID_AB_BACKUP_OFFSET
> + free(backup_abc);
> +#endif
> + free(abc);
> + return ret;
> + }
>   }
>  
>  #if ANDROID_AB_BACKUP_OFFSET
> @@ -346,8 +353,13 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
> disk_partition *part_info,
>* to the backup offset
>*/
>   if (memcmp(backup_abc, abc, sizeof(*abc)) != 0) {
> - ab_control_store(dev_desc, part_info, abc,
> + ret = ab_control_store(dev_desc, part_info, abc,
>ANDROID_AB_BACKUP_OFFSET);
> + if (ret < 0) {
> + free(backup_abc);
> + free(abc);
> + return ret;
> + }
>   }
>   free(backup_abc);
>  #endif
> -- 
> 2.39.2
> 

-- 
Thank you,
Alexey

[PATCH v2] android_ab: don't ignore ab_control_store return code

2023-12-25 Thread Alexey Romanov
ab_control_store() can return an error if writing to disk fails.
In this case, we have to pass the error code to the caller.

Signed-off-by: Alexey Romanov 
Reviewed-by: Mattijs Korpershoek 
---
 boot/android_ab.c | 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/boot/android_ab.c b/boot/android_ab.c
index 73b55c196c..af3c375e07 100644
--- a/boot/android_ab.c
+++ b/boot/android_ab.c
@@ -337,7 +337,14 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
disk_partition *part_info,
 
if (store_needed) {
abc->crc32_le = ab_control_compute_crc(abc);
-   ab_control_store(dev_desc, part_info, abc, 0);
+   ret = ab_control_store(dev_desc, part_info, abc, 0);
+   if (ret < 0) {
+#if ANDROID_AB_BACKUP_OFFSET
+   free(backup_abc);
+#endif
+   free(abc);
+   return ret;
+   }
}
 
 #if ANDROID_AB_BACKUP_OFFSET
@@ -346,8 +353,13 @@ int ab_select_slot(struct blk_desc *dev_desc, struct 
disk_partition *part_info,
 * to the backup offset
 */
if (memcmp(backup_abc, abc, sizeof(*abc)) != 0) {
-   ab_control_store(dev_desc, part_info, abc,
+   ret = ab_control_store(dev_desc, part_info, abc,
 ANDROID_AB_BACKUP_OFFSET);
+   if (ret < 0) {
+   free(backup_abc);
+   free(abc);
+   return ret;
+   }
}
free(backup_abc);
 #endif
-- 
2.39.2