From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from canpmsgout08.his.huawei.com (canpmsgout08.his.huawei.com [113.46.200.223]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 30E813769F0 for ; Mon, 24 Aug 2026 06:34:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=113.46.200.223 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787553269; cv=none; b=HwRw2Sq4khf6IkkVe372uxeQHGwbIbQRYJWCgAhT5PGiafF1SV1JO1/gTrdeB5M7BRRZiUh/mt0zQRhE2ADWnJSqH+/YLO3onKBCQi+IF7SuYytvRtp28hQLJdSk9/ISAsIRVehJqiQwdVjut8x3GzdzXQgiFQdGd4FYkM+IGaA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787553269; c=relaxed/simple; bh=/z/TsvGYOeLnI9wzNmVlp6zlEXA52N0JnT1pWIKXQiM=; h=Message-ID:Date:MIME-Version:Subject:To:CC:References:From: In-Reply-To:Content-Type; b=TXXAfYkjGuAB0lupsrY2acf/e27bfRhM7X+/GOLNVbdo3hDvsHpedeEytloBRRRRev8cklAQlI1gXjGJlp1AS6pwyncM4ypGXj5EP0/vsNDbDjP2uHgHu/F3HprhPOG0Ua8RYL6aIyZ3e53CwjvRcHFbRALA4zqh0hSqYr3vAGY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com; spf=pass smtp.mailfrom=huawei.com; dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com header.b=LZ0/DHz7; arc=none smtp.client-ip=113.46.200.223 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=huawei.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=huawei.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=huawei.com header.i=@huawei.com header.b="LZ0/DHz7" dkim-signature: v=1; a=rsa-sha256; d=huawei.com; s=dkim; c=relaxed/relaxed; q=dns/txt; h=From; bh=02mzIcyNFWU0Hsiw7mRli2vS+eyyUPUCGoO00qWXUWo=; b=LZ0/DHz7xa2j9yzxzP1e3NfauLKAuLx2idpzSrpgnag56gGrgINKWhZ5xmCv+x5EgwYQbEbcn OPHb3y05XB3hOr05ODst+wZM3wMO4PNeQ65AS9uXZa0Ga1PbZKsoKLaiOlSMqN6vqfTMHwHJ+dB 5R6rc11v2EFhJLIcNt7Os8A= Received: from mail.maildlp.com (unknown [172.19.163.127]) by canpmsgout08.his.huawei.com (SkyGuard) with ESMTPS id 4hT17j3SsfzmVXX; Mon, 24 Aug 2026 14:23:29 +0800 (CST) Received: from kwepemo200009.china.huawei.com (unknown [7.202.195.26]) by mail.maildlp.com (Postfix) with ESMTPS id E9D1C402AB; Mon, 24 Aug 2026 14:34:13 +0800 (CST) Received: from [10.174.186.187] (10.174.186.187) by kwepemo200009.china.huawei.com (7.202.195.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.45; Mon, 24 Aug 2026 14:34:13 +0800 Message-ID: Date: Mon, 24 Aug 2026 14:34:12 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH V2] kho: Convert error handling to immediate return pattern To: Matthew Wilcox CC: Alexander Graf , Mike Rapoport , Pasha Tatashin , Pratyush Yadav , , , , References: <00c96a62-f783-497c-a7ac-1de495e4af06@huawei.com> <20260824024448.550552-1-longwei27@huawei.com> From: "longwei (I)" In-Reply-To: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: kwepems100001.china.huawei.com (7.221.188.238) To kwepemo200009.china.huawei.com (7.202.195.26) Hi Matthew, Thanks for the review. I chose the explicit `if (err) return err` pattern for clarity and "fail fast" behavior. However, I'm happy to adopt the chained pattern if the maintainer prefers it. Thanks, Long Wei =E5=9C=A8 2026/8/24 10:54, Matthew Wilcox =E5=86=99=E9=81=93: > 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; >> =20 >> err =3D fdt_create(root, PAGE_SIZE); >> - err |=3D fdt_finish_reservemap(root); >> - err |=3D fdt_begin_node(root, ""); >> - err |=3D fdt_property_string(root, "compatible", KHO_FDT_COMPATIBLE)= ; >> + if (err) >> + return err; >> + err =3D fdt_finish_reservemap(root); >> + if (err) >> + return err; >> + err =3D fdt_begin_node(root, ""); >> + if (err) >> + return err; >> + err =3D fdt_property_string(root, "compatible", KHO_FDT_COMPATIBLE);= >> + if (err) >> + return err; >=20 > Less verbose: >=20 > err =3D fdt_create(root, PAGE_SIZE); > - err |=3D fdt_finish_reservemap(root); > - err |=3D fdt_begin_node(root, ""); > - err |=3D fdt_property_string(root, "compatible", KHO_FDT_COMPATIBLE);= > + if (!err) > + err =3D fdt_finish_reservemap(root); > + if (!err) > + err =3D fdt_begin_node(root, ""); > + if (!err) > + err =3D fdt_property_string(root, "compatible", > + KHO_FDT_COMPATIBLE); >=20 > up to the maintainer which one they prefer ...