[PATCH] cmd: avb: free partition buffer upon verify completion
Gary Bisson
gary.bisson at boundarydevices.com
Wed May 6 16:05:57 CEST 2020
Allows to run 'avb verify' multiple times which can be useful after a
failure to be able to re-flash the partition and try again.
Signed-off-by: Gary Bisson <gary.bisson at boundarydevices.com>
---
Hi,
This was added because of the following scenario:
1- fastboot flash boot boot.img
2- avb verify
-> fails because vbmeta wasn't updated
3- fastboot flash vbmeta vbmeta.img
4- avb verify
-> fails because it can't allocate memory as previous buffer wasn't
freed
Let me know if you have any questions.
Regards,
Gary
---
cmd/avb.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/cmd/avb.c b/cmd/avb.c
index a4de5c40a2..67154de4e1 100644
--- a/cmd/avb.c
+++ b/cmd/avb.c
@@ -312,6 +312,14 @@ int do_avb_verify_part(cmd_tbl_t *cmdtp, int flag,
printf("Unknown error occurred\n");
}
+ /* Free image buffers now that verification is complete */
+ if (slot_result != AVB_SLOT_VERIFY_RESULT_ERROR_OOM) {
+ int i;
+ for (i = 0; i < (int)out_data->num_loaded_partitions; i++)
+ if (out_data->loaded_partitions[i].data)
+ free(out_data->loaded_partitions[i].data);
+ }
+
return res;
}
--
2.26.2
More information about the U-Boot
mailing list