
On 11/11/21 16:59, Marek Behún wrote:
From: Pali Rohár pali@kernel.org
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
Some nitpicking comments below...
Other than this:
Reviewed-by: Stefan Roese sr@denx.de
arch/arm/mach-mvebu/spl.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/arch/arm/mach-mvebu/spl.c b/arch/arm/mach-mvebu/spl.c index 73c4b9af3e..71994e44f1 100644 --- a/arch/arm/mach-mvebu/spl.c +++ b/arch/arm/mach-mvebu/spl.c @@ -163,6 +163,16 @@ 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 in kwbimage\n");
return -EINVAL;
- }
- if (mhdr->blocksize <= 4 || mhdr->blocksize % 4 != 0) {
printf("ERROR: Wrong blocksize in kwbimage\n");
return -EINVAL;
- }
It might make sense to print the incorrect srcaddr and / or blocksize in the error case, as this might help the user with solving the problem.
Thanks, Stefan
- spl_image->size = mhdr->blocksize; spl_image->entry_point = mhdr->execaddr; spl_image->load_addr = mhdr->destaddr;
Viele Grüße, Stefan Roese