[u-boot,v2019.04-aspeed, v1 0/1] Common:fdt: Check for error return

Hello Reviewer,
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit(). Otherwise, when fdt subimage is corrupted, the u-boot report bad hash value but continue loading kernel image and get hanged later.
Hongwei Zhang (1): Common:fdt: Check for error return value
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)

Check for negative return value of fdt_noffset from calling boot_get_fdt_fit().
Signed-off-by: Hongwei Zhang hongweiz@ami.com --- common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/common/image-fdt.c b/common/image-fdt.c index 01186aeac7..52ada56fc1 100644 --- a/common/image-fdt.c +++ b/common/image-fdt.c @@ -402,6 +402,9 @@ int boot_get_fdt(int flag, int argc, char * const argv[], uint8_t arch, &fit_uname_config, arch, &load, &len);
+ if (fdt_noffset < 0) + goto error; + images->fit_hdr_fdt = map_sysmem(fdt_addr, 0); images->fit_uname_fdt = fit_uname_fdt; images->fit_noffset_fdt = fdt_noffset;

On Wed, 2 Dec 2020 at 12:48, Hongwei Zhang hongweiz@ami.com wrote:
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit().
Signed-off-by: Hongwei Zhang hongweiz@ami.com
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

On Sat, 12 Dec 2020 at 08:35, Simon Glass sjg@chromium.org wrote:
On Wed, 2 Dec 2020 at 12:48, Hongwei Zhang hongweiz@ami.com wrote:
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit().
Signed-off-by: Hongwei Zhang hongweiz@ami.com
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
Applied to u-boot-dm/next, thanks!

Hello Hongwei,
On Wed, 2 Dec 2020 at 19:48, Hongwei Zhang hongweiz@ami.com wrote:
Hello Reviewer,
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit(). Otherwise, when fdt subimage is corrupted, the u-boot report bad hash value but continue loading kernel image and get hanged later.
I can see from your subject line that you intended this to go to Aspeed's fork of u-boot. That's fine, but you shouldn't cc the upstream maintainers as they don't care for these changes.
If the bug exists in mainline u-boot, you should certainly send the fix there and ask for it to be backported to the aspeed fork.
Cheers,
Joel
Hongwei Zhang (1): Common:fdt: Check for error return value
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
-- 2.17.1

Thanks Joel,
From: Joel Stanley joel@jms.id.au Sent: Wednesday, December 2, 2020 9:17 PM To: Hongwei Zhang
Hello Hongwei,
On Wed, 2 Dec 2020 at 19:48, Hongwei Zhang hongweiz@ami.com wrote:
Hello Reviewer,
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit(). Otherwise, when fdt subimage is corrupted, the u-boot report bad hash value but continue loading kernel image and get hanged later.
I can see from your subject line that you intended this to go to Aspeed's fork of u-boot. That's fine, but you shouldn't cc the upstream maintainers as they don't care for these changes.
If the bug exists in mainline u-boot, you should certainly send the fix there and ask for it to be backported to the aspeed fork.
I think this issue existing in mainline u-boot, however, I have difficulty to include 'master' branch of u-boot in openbmc project, to acturaly test it. There are compiling errors.
Also, I'm not sure for mainline u-boot, which branch should I use to test and verification? is it 'master', or 'next' branch?
--Hongwei
Cheers,
Joel
Hongwei Zhang (1): Common:fdt: Check for error return value
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
-- 2.17.1

On Thu, 3 Dec 2020 at 19:11, Hongwei Zhang hongweiz@ami.com wrote:
Thanks Joel,
From: Joel Stanley joel@jms.id.au Sent: Wednesday, December 2, 2020 9:17 PM To: Hongwei Zhang
Hello Hongwei,
On Wed, 2 Dec 2020 at 19:48, Hongwei Zhang hongweiz@ami.com wrote:
Hello Reviewer,
Check for negative return value of fdt_noffset from calling boot_get_fdt_fit(). Otherwise, when fdt subimage is corrupted, the u-boot report bad hash value but continue loading kernel image and get hanged later.
I can see from your subject line that you intended this to go to Aspeed's fork of u-boot. That's fine, but you shouldn't cc the upstream maintainers as they don't care for these changes.
If the bug exists in mainline u-boot, you should certainly send the fix there and ask for it to be backported to the aspeed fork.
I think this issue existing in mainline u-boot, however, I have difficulty to include 'master' branch of u-boot in openbmc project, to acturaly test it. There are compiling errors.
Also, I'm not sure for mainline u-boot, which branch should I use to test and verification? is it 'master', or 'next' branch?
I suspect it doesn't matter much. As this is a small fix, I would chose to send it to master. (I see that's what you did)
--Hongwei
Cheers,
Joel
Hongwei Zhang (1): Common:fdt: Check for error return value
common/image-fdt.c | 3 +++ 1 file changed, 3 insertions(+)
-- 2.17.1
participants (3)
-
Hongwei Zhang
-
Joel Stanley
-
Simon Glass