arm: mvebu: Check that kwbimage offset and blocksize are valid
There are certain restrictions for kwbimage offset and blocksize. Validate them. Signed-off-by: Pali Rohár <pali@kernel.org> Signed-off-by: Marek Behún <marek.behun@nic.cz> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
4364071362
commit
66f874855c
@ -162,6 +162,18 @@ int spl_parse_board_header(struct spl_image_info *spl_image,
|
||||
spl_image->offset *= 512;
|
||||
#endif
|
||||
|
||||
if (spl_image->offset % 4 != 0) {
|
||||
printf("ERROR: Wrong srcaddr (0x%08x) in kwbimage\n",
|
||||
spl_image->offset);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (mhdr->blocksize <= 4 || mhdr->blocksize % 4 != 0) {
|
||||
printf("ERROR: Wrong blocksize (0x%08x) in kwbimage\n",
|
||||
mhdr->blocksize);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
spl_image->size = mhdr->blocksize;
|
||||
spl_image->entry_point = mhdr->execaddr;
|
||||
spl_image->load_addr = mhdr->destaddr;
|
||||
|
Loading…
Reference in New Issue
Block a user