[PATCH] kho: Convert error handling to immediate return pattern

From: LongWei27

Date: Sat Aug 22 2026 - 02:43:21 EST


From: Long Wei <longwei27@xxxxxxxxxx>

Replace the chained error accumulation (err |= func()) with immediate
per-step error checking and early return in kho_out_fdt_setup().

Signed-off-by: Long Wei <longwei27@xxxxxxxxxx>
---
kernel/liveupdate/kexec_handover.c | 32 +++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/kernel/liveupdate/kexec_handover.c b/kernel/liveupdate/kexec_handover.c
index 175c08a6e..93443ad84 100644
--- a/kernel/liveupdate/kexec_handover.c
+++ b/kernel/liveupdate/kexec_handover.c
@@ -1438,20 +1438,34 @@ static __init int kho_out_fdt_setup(void)
int err;

err = fdt_create(root, PAGE_SIZE);
- err |= fdt_finish_reservemap(root);
- err |= fdt_begin_node(root, "");
- err |= fdt_property_string(root, "compatible", KHO_FDT_COMPATIBLE);
+ if (err)
+ return err;
+ err = fdt_finish_reservemap(root);
+ if (err)
+ return err;
+ err = fdt_begin_node(root, "");
+ if (err)
+ return err;
+ err = fdt_property_string(root, "compatible", KHO_FDT_COMPATIBLE);
+ if (err)
+ return err;

preserved_mem_tree_pa = virt_to_phys(tree->root);

- err |= fdt_property(root, KHO_FDT_MEMORY_MAP_PROP_NAME,
- &preserved_mem_tree_pa,
- sizeof(preserved_mem_tree_pa));
+ err = fdt_property(root, KHO_FDT_MEMORY_MAP_PROP_NAME,
+ &preserved_mem_tree_pa,
+ sizeof(preserved_mem_tree_pa));
+ if (err)
+ return err;

- err |= fdt_end_node(root);
- err |= fdt_finish(root);
+ err = fdt_end_node(root);
+ if (err)
+ return err;
+ err = fdt_finish(root);
+ if (err)
+ return err;

- return err;
+ return 0;
}

static void __init kho_in_kexec_metadata(void)
--
2.43.0