diff options
| author | Tom Rini <[email protected]> | 2022-08-31 19:32:31 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2022-08-31 19:32:31 -0400 |
| commit | 4e10c1227aa879af809b3073bf917289f23e17d7 (patch) | |
| tree | 682c915d732c07d017a00278ae76fdea6f00b003 /boot | |
| parent | 1573b6a86993fcf80d4badc866a46b78df7e6bda (diff) | |
| parent | f4b540e25c5c63fd55a80c78a22b2f69ecb848f8 (diff) | |
Merge branch '2022-08-31-assorted-fixes'
- Assorted bugfixes including re-working the i2c command CVE and fixing
some TI reference platforms with different EEPROMs.
Diffstat (limited to 'boot')
| -rw-r--r-- | boot/bootm.c | 16 | ||||
| -rw-r--r-- | boot/image-fit.c | 3 |
2 files changed, 8 insertions, 11 deletions
diff --git a/boot/bootm.c b/boot/bootm.c index 86dbfbcfed5..e3233fdf89d 100644 --- a/boot/bootm.c +++ b/boot/bootm.c @@ -305,9 +305,9 @@ int bootm_find_images(int flag, int argc, char *const argv[], ulong start, /* check if FDT overlaps OS image */ if (images.ft_addr && (((ulong)images.ft_addr >= start && - (ulong)images.ft_addr <= start + size) || + (ulong)images.ft_addr < start + size) || ((ulong)images.ft_addr + images.ft_len >= start && - (ulong)images.ft_addr + images.ft_len <= start + size))) { + (ulong)images.ft_addr + images.ft_len < start + size))) { printf("ERROR: FDT image overlaps OS image (OS=0x%lx..0x%lx)\n", start, start + size); return 1; @@ -1006,7 +1006,7 @@ static int bootm_host_load_image(const void *fit, int req_image_type, int noffset; ulong load_end, buf_size; uint8_t image_type; - uint8_t imape_comp; + uint8_t image_comp; void *load_buf; int ret; @@ -1024,20 +1024,18 @@ static int bootm_host_load_image(const void *fit, int req_image_type, return -EINVAL; } - if (fit_image_get_comp(fit, noffset, &imape_comp)) { - puts("Can't get image compression!\n"); - return -EINVAL; - } + if (fit_image_get_comp(fit, noffset, &image_comp)) + image_comp = IH_COMP_NONE; /* Allow the image to expand by a factor of 4, should be safe */ buf_size = (1 << 20) + len * 4; load_buf = malloc(buf_size); - ret = image_decomp(imape_comp, 0, data, image_type, load_buf, + ret = image_decomp(image_comp, 0, data, image_type, load_buf, (void *)data, len, buf_size, &load_end); free(load_buf); if (ret) { - ret = handle_decomp_error(imape_comp, load_end - 0, buf_size, ret); + ret = handle_decomp_error(image_comp, load_end - 0, buf_size, ret); if (ret != BOOTM_ERR_UNIMPLEMENTED) return ret; } diff --git a/boot/image-fit.c b/boot/image-fit.c index df3e5df8836..21dbd051184 100644 --- a/boot/image-fit.c +++ b/boot/image-fit.c @@ -477,7 +477,7 @@ void fit_print_contents(const void *fit) void fit_image_print(const void *fit, int image_noffset, const char *p) { char *desc; - uint8_t type, arch, os, comp; + uint8_t type, arch, os, comp = IH_COMP_NONE; size_t size; ulong load, entry; const void *data; @@ -794,7 +794,6 @@ int fit_image_get_comp(const void *fit, int noffset, uint8_t *comp) data = fdt_getprop(fit, noffset, FIT_COMP_PROP, &len); if (data == NULL) { fit_get_debug(fit, noffset, FIT_COMP_PROP, len); - *comp = -1; return -1; } |
