From: Mathew McBride Date: Wed, 12 Apr 2023 07:38:13 +0000 (+0000) Subject: armv8: fsl-layerscape: check for crypto node first in fdt_fixup_remove_jr X-Git-Url: http://git.dujemihanovic.xyz/%22http:/www.sics.se/static/git-logo.png?a=commitdiff_plain;h=8586a938682dbb0da669073c851e1f5ac62c37fe;p=u-boot.git armv8: fsl-layerscape: check for crypto node first in fdt_fixup_remove_jr This a problem I found while updating the U-Boot fsl-ls1088a.dtsi to match the Linux version. fdt_fixup_remove_jr did not check whether there was a "crypto" alias in the device tree before calling more fdt_* functions, which resulted in a crash. Fixes: a797f274 ("ARMv8/sec_firmware : Update chosen/kaslr-seed with random number") Signed-off-by: Mathew McBride Reviewed-by: Peng Fan Signed-off-by: Peng Fan Reviewed-by: Ioana Ciornei Tested-by: Ioana Ciornei # on LS1088A-RDB --- diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index 4f91db49ee..22ce699216 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -387,6 +387,10 @@ void fdt_fixup_remove_jr(void *blob) u64 jr_offset, used_jr; fdt32_t *reg; + /* Return if crypto node not found */ + if (crypto_node < 0) + return; + used_jr = sec_firmware_used_jobring_offset(); fdt_support_default_count_cells(blob, crypto_node, &addr_cells, NULL);