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

From: Matthew Wilcox

Date: Sun Aug 23 2026 - 22:54:37 EST


On Mon, Aug 24, 2026 at 10:44:48AM +0800, LongWei27 wrote:
> +++ 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;

Less verbose:

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)
+ err = fdt_finish_reservemap(root);
+ if (!err)
+ err = fdt_begin_node(root, "");
+ if (!err)
+ err = fdt_property_string(root, "compatible",
+ KHO_FDT_COMPATIBLE);

up to the maintainer which one they prefer ...