mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 08:42:12 +02:00
sandbox: Fix set_working_fdt_addr users
When running sandbox with the new pointer sanitization we just recently introduced, we're running into a case with FIT images where we end up interpreting pointers as addresses. What happened is that most callers of set_working_fdt_addr() simply convert pointers into addresses without taking into account that they might be 2 separate address spaces. Fix the callers up to map their pointers into addresses. This makes sandbox tests pass for me again. Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
@@ -262,7 +262,7 @@ int bootm_find_images(int flag, int argc, char * const argv[])
|
|||||||
puts("Could not find a valid device tree\n");
|
puts("Could not find a valid device tree\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
set_working_fdt_addr((ulong)images.ft_addr);
|
set_working_fdt_addr(map_to_sysmem(images.ft_addr));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if IMAGE_ENABLE_FIT
|
#if IMAGE_ENABLE_FIT
|
||||||
|
@@ -193,7 +193,7 @@ int boot_relocate_fdt(struct lmb *lmb, char **of_flat_tree, ulong *of_size)
|
|||||||
*of_flat_tree = of_start;
|
*of_flat_tree = of_start;
|
||||||
*of_size = of_len;
|
*of_size = of_len;
|
||||||
|
|
||||||
set_working_fdt_addr((ulong)*of_flat_tree);
|
set_working_fdt_addr(map_to_sysmem(*of_flat_tree));
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
Reference in New Issue
Block a user