asoc: wcd_cpe_core: add size check for WDSP ELF files
Add size check to make sure the data sizes from WDSP ELF metadata and the split firmware ELF are the same. Change-Id: I7a1404cd15601d8d503e3355e6dc70e2949df72d Signed-off-by: Xiaoyu Ye <benyxy@codeaurora.org>
This commit is contained in:
parent
da56c67bc4
commit
ef9ded2e71
1 changed files with 9 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2014-2017, The Linux Foundation. All rights reserved.
|
||||
/* Copyright (c) 2014-2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -329,6 +329,14 @@ static int wcd_cpe_load_each_segment(struct wcd_cpe_core *core,
|
|||
goto done;
|
||||
}
|
||||
|
||||
if (phdr->p_filesz != split_fw->size) {
|
||||
dev_err(core->dev,
|
||||
"%s: %s size mismatch, phdr_size: 0x%x fw_size: 0x%zx",
|
||||
__func__, split_fname, phdr->p_filesz, split_fw->size);
|
||||
ret = -EINVAL;
|
||||
goto done;
|
||||
}
|
||||
|
||||
segment->cpe_addr = phdr->p_paddr;
|
||||
segment->size = phdr->p_filesz;
|
||||
segment->data = (u8 *) split_fw->data;
|
||||
|
|
Loading…
Add table
Reference in a new issue