Re: [PATCH v5 26/29] image: Remove some #ifdefs from image-fit and image-fit-sig

2021-10-08 Thread Tom Rini
On Sat, Sep 25, 2021 at 07:43:39PM -0600, Simon Glass wrote:

> Drop the #ifdefs which are easy to remove without refactoring.
> 
> Signed-off-by: Simon Glass 

Applied to u-boot/master, thanks!

-- 
Tom


signature.asc
Description: PGP signature


[PATCH v5 26/29] image: Remove some #ifdefs from image-fit and image-fit-sig

2021-09-25 Thread Simon Glass
Drop the #ifdefs which are easy to remove without refactoring.

Signed-off-by: Simon Glass 
---

(no changes since v1)

 common/Kconfig.boot| 10 ++
 common/image-fit-sig.c |  8 ++--
 common/image-fit.c |  7 ---
 3 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/common/Kconfig.boot b/common/Kconfig.boot
index f23b9988521..9b84a8d005f 100644
--- a/common/Kconfig.boot
+++ b/common/Kconfig.boot
@@ -165,6 +165,16 @@ config SPL_FIT_SIGNATURE
select SPL_IMAGE_SIGN_INFO
select SPL_FIT_FULL_CHECK
 
+config SPL_FIT_SIGNATURE_MAX_SIZE
+   hex "Max size of signed FIT structures in SPL"
+   depends on SPL_FIT_SIGNATURE
+   default 0x1000
+   help
+ This option sets a max size in bytes for verified FIT uImages.
+ A sane value of 256MB protects corrupted DTB structures from 
overlapping
+ device memory. Assure this size does not extend past expected storage
+ space.
+
 config SPL_LOAD_FIT
bool "Enable SPL loading U-Boot as a FIT (basic fitImage features)"
select SPL_FIT
diff --git a/common/image-fit-sig.c b/common/image-fit-sig.c
index e95e64bd2fe..4edebbf2d32 100644
--- a/common/image-fit-sig.c
+++ b/common/image-fit-sig.c
@@ -49,10 +49,8 @@ struct image_region *fit_region_make_list(const void *fit,
 * Use malloc() except in SPL (to save code size). In SPL the caller
 * must allocate the array.
 */
-#ifndef CONFIG_SPL_BUILD
-   if (!region)
+   if (!IS_ENABLED(CONFIG_SPL_BUILD) && !region)
region = calloc(sizeof(*region), count);
-#endif
if (!region)
return NULL;
for (i = 0; i < count; i++) {
@@ -72,12 +70,10 @@ static int fit_image_setup_verify(struct image_sign_info 
*info,
char *algo_name;
const char *padding_name;
 
-#ifndef USE_HOSTCC
-   if (fdt_totalsize(fit) > CONFIG_FIT_SIGNATURE_MAX_SIZE) {
+   if (fdt_totalsize(fit) > CONFIG_VAL(FIT_SIGNATURE_MAX_SIZE)) {
*err_msgp = "Total size too large";
return 1;
}
-#endif
if (fit_image_hash_get_algo(fit, noffset, _name)) {
*err_msgp = "Can't get hash algo property";
return -1;
diff --git a/common/image-fit.c b/common/image-fit.c
index 3952ab749ad..5a377a7f85f 100644
--- a/common/image-fit.c
+++ b/common/image-fit.c
@@ -2009,9 +2009,6 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
int type_ok, os_ok;
ulong load, load_end, data, len;
uint8_t os, comp;
-#ifndef USE_HOSTCC
-   uint8_t os_arch;
-#endif
const char *prop_name;
int ret;
 
@@ -2103,8 +2100,12 @@ int fit_image_load(bootm_headers_t *images, ulong addr,
}
 
 #ifndef USE_HOSTCC
+   {
+   uint8_t os_arch;
+
fit_image_get_arch(fit, noffset, _arch);
images->os.arch = os_arch;
+   }
 #endif
 
bootstage_mark(bootstage_id + BOOTSTAGE_SUB_CHECK_ALL);
-- 
2.33.0.685.g46640cef36-goog