[PATCH v2] ofnode: NULL check bootscr_flash_size before dereference

Andrew Goodbody andrew.goodbody at linaro.org
Mon Jul 7 12:04:29 CEST 2025


Move the NULL check of bootscr_flash_size to before the first time it is
dereferenced to avoid any possible segment violations.

This issue found by Smatch.

Signed-off-by: Andrew Goodbody <andrew.goodbody at linaro.org>
---
Changes in v2:
- Refactor to coalesce duplicate assignments of *bootscr_flash_offset
- Link to v1: https://lore.kernel.org/r/20250703-ofnode_fix-v1-1-c739233efb58@linaro.org
---
 drivers/core/ofnode.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
index 26e014d5c53..e040e3f2806 100644
--- a/drivers/core/ofnode.c
+++ b/drivers/core/ofnode.c
@@ -1961,6 +1961,12 @@ int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset,
 	ofnode uboot;
 
 	*bootscr_flash_offset = 0;
+
+	if (!bootscr_flash_size) {
+		dm_warn("bootscr-flash-size is zero. Ignoring properties!\n");
+		return -EINVAL;
+	}
+
 	*bootscr_flash_size = 0;
 
 	uboot = ofnode_path("/options/u-boot");
@@ -1979,12 +1985,6 @@ int ofnode_read_bootscript_flash(u64 *bootscr_flash_offset,
 	if (ret)
 		return -EINVAL;
 
-	if (!bootscr_flash_size) {
-		dm_warn("bootscr-flash-size is zero. Ignoring properties!\n");
-		*bootscr_flash_offset = 0;
-		return -EINVAL;
-	}
-
 	return 0;
 }
 

---
base-commit: 7027b445cc0bfb86204ecb1f1fe596f5895048d9
change-id: 20250703-ofnode_fix-284e601e4329

Best regards,
-- 
Andrew Goodbody <andrew.goodbody at linaro.org>



More information about the U-Boot mailing list