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

Matthew Wilcox willy at infradead.org
Sun Aug 23 19:54:18 PDT 2026


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 ...



More information about the kexec mailing list