mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
fwu: v1: do a version check for the metadata
Do a sanity check that the version of the FWU metadata that has been read aligns with the version enabled in the image. This allows to indicate an early failure as part of the FWU module initialisation. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Tested-by: Michal Simek <michal.simek@amd.com> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
committed by
Ilias Apalodimas
parent
5e9feeed8a
commit
36811ff827
@@ -146,6 +146,7 @@ int fwu_init(void)
|
||||
{
|
||||
int ret;
|
||||
uint32_t mdata_size;
|
||||
struct fwu_mdata mdata = {0};
|
||||
|
||||
fwu_get_mdata_size(&mdata_size);
|
||||
|
||||
@@ -157,10 +158,16 @@ int fwu_init(void)
|
||||
* Now read the entire structure, both copies, and
|
||||
* validate that the copies.
|
||||
*/
|
||||
ret = fwu_get_mdata(NULL);
|
||||
ret = fwu_get_mdata(&mdata);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (mdata.version != 0x1) {
|
||||
log_err("FWU metadata version %u. Expected value of %u\n",
|
||||
mdata.version, FWU_MDATA_VERSION);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
fwu_data_init();
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user