From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR03-DB5-obe.outbound.protection.outlook.com (EUR03-DB5-obe.outbound.protection.outlook.com [40.107.4.68]) by mx.groups.io with SMTP id smtpd.web09.9909.1633702012471610542 for ; Fri, 08 Oct 2021 07:06:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=7SPYT8wf; spf=pass (domain: arm.com, ip: 40.107.4.68, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vIod5zNT4Sc6D2sZ9xCzjpbaaN5/rAAofp+CzdSMnaI=; b=7SPYT8wfRkswR7GNZYNP+Yee0oAkAkxNK0Ncuif8UO0WKz8Zg9xnHL9gNvJ3AN1f/9X3NQTwdWuWyLkQHXeCa9tkNlP6RT1o9ZDr9MxnSXl0vqVML0mYkTEahvijqN00hKWTSAhTdh1FYjzXZqHIqmbyw6x8o9WBtp/2PMjINaA= Received: from AS8PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:20b:310::26) by AM0PR08MB3042.eurprd08.prod.outlook.com (2603:10a6:208:5e::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.21; Fri, 8 Oct 2021 14:06:48 +0000 Received: from AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:310:cafe::4f) by AS8PR04CA0021.outlook.office365.com (2603:10a6:20b:310::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.15 via Frontend Transport; Fri, 8 Oct 2021 14:06:46 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT049.mail.protection.outlook.com (10.152.17.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.18 via Frontend Transport; Fri, 8 Oct 2021 14:06:46 +0000 Received: ("Tessian outbound b9598e0ead92:v103"); Fri, 08 Oct 2021 14:06:46 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 518ca52503620813 X-CR-MTA-TID: 64aa7808 Received: from 2b86b524096b.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 44BE42C1-1AF6-498D-9F87-8A29FB3A4083.1; Fri, 08 Oct 2021 14:06:40 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2b86b524096b.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 08 Oct 2021 14:06:39 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P580DIeA2jUvrTlGKwGU3mMe6Bs60GNVo8Av8t5JFNPJWBVWt6/R6mYos3ZGPEmATcLB1xQ7lZBrvuwbO9pyLq7oPX7WDi7+pa2mvdnvsNQabZ/tJ8WhYe1k+LiUUDWWm+nUn9ZQnFzyVph34y6C6V/uypf+3srl96P2XUANjZOmG/ooQsoM8UCOXwHXwTkhZV3xA+U701Qri+SMNHHqQgpAPlJhhtTUj1noGEIzMGbC1+hcKgCmXJbiEfNLHw0bIEQUnasocov1Ntqgr4GOSJpPFfXetJ28LJO0KaUBAd1i+QE5IK/PijXqjjCA7NYHWIP1gLFiown4dhTP1+4SMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vIod5zNT4Sc6D2sZ9xCzjpbaaN5/rAAofp+CzdSMnaI=; b=YoUZ6Phzvm47fqoyWVUFVbCxQDvl118eM0uPGVw2i9/AusYUeIzG7nc+I35tewpUOtpDPuN3kj+e3XwyHt27OXeYdvB9XBwHCIviq7Iup8H/yDDNUD5ZzFGCELSQI1hJngPuZDXpXG6khM3qCeQ+7ylCtPL47uRqpK8Cj9xx++3x6r+YEm9vwC4lyAvsZYBm14DbzWxGF/7jc3jJGRcc5sFhU1ADcx0JYhmdz4uVe1f00E3gEhy+Gp3K1n6QoItf2dEIfmPzklCEcGttGVaWIkrGwt3btbM+QX1Yuk60LN0add66PSbiL5IcGoxm5IVxfXy6HCL6Zob1GoZpNjpeow== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vIod5zNT4Sc6D2sZ9xCzjpbaaN5/rAAofp+CzdSMnaI=; b=7SPYT8wfRkswR7GNZYNP+Yee0oAkAkxNK0Ncuif8UO0WKz8Zg9xnHL9gNvJ3AN1f/9X3NQTwdWuWyLkQHXeCa9tkNlP6RT1o9ZDr9MxnSXl0vqVML0mYkTEahvijqN00hKWTSAhTdh1FYjzXZqHIqmbyw6x8o9WBtp/2PMjINaA= Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) by AM6PR08MB3383.eurprd08.prod.outlook.com (2603:10a6:20b:50::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.22; Fri, 8 Oct 2021 14:06:38 +0000 Received: from AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65]) by AS8PR08MB6806.eurprd08.prod.outlook.com ([fe80::54b5:239d:9896:ee65%4]) with mapi id 15.20.4587.022; Fri, 8 Oct 2021 14:06:38 +0000 Subject: Re: [PATCH v2 07/21] DynamicTablesPkg: Clear pointer in node creation fcts To: Pierre.Gondois@arm.com, devel@edk2.groups.io, Alexei.Fedorov@arm.com, nd References: <20211007153210.26608-1-Pierre.Gondois@arm.com> <20211007153210.26608-8-Pierre.Gondois@arm.com> From: "Sami Mujawar" Message-ID: <555340b8-3a48-545b-baf8-4d625c5172be@arm.com> Date: Fri, 8 Oct 2021 15:06:44 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.0.1 In-Reply-To: <20211007153210.26608-8-Pierre.Gondois@arm.com> X-ClientProxiedBy: LNXP265CA0019.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::31) To AS8PR08MB6806.eurprd08.prod.outlook.com (2603:10a6:20b:39b::12) MIME-Version: 1.0 Received: from [10.1.196.43] (217.140.106.52) by LNXP265CA0019.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:5e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4587.20 via Frontend Transport; Fri, 8 Oct 2021 14:06:37 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7594ba4e-8da2-4e4e-ae98-08d98a64dd9c X-MS-TrafficTypeDiagnostic: AM6PR08MB3383:|AM0PR08MB3042: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:4303;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: wnFMTJQtEQDc7QhGSYSgOvMjpmMCtasXHFzGAM2w83m94YPNG50LNTzM+rVT2Tz4RTeSF7AQhTqnVQfet263E6bfdm10BEVjjjwe+2ygNsV+uSSTdSvXnTdKsPLwLpO01skyHJObGb31kuvDWoI/cKXqjPafPKyjz1rvyltFc1V3CRj1lAnvcScGTk3Xdbo/qf6FaGZiooA/U/8tojq3boWldFp8i31zUEEaZg4XKxuavdrxlq56mz1JkisAZsayIW323TRPVyJK2zxceHRaELR5nKUNJPGa9In7cnIg5zgl6HeG0Rc9jkYpo4yBpD9vtCC6FYETk9AEr6lgC7Omzgc3jvu9ZlsN8CnJEWfSBiIDKTTVpe3z6a/eF54gI+nAy5bd6L2boa09ufeSPJKib4KQ08NGeW4x69ORRL6mtsSXGLPeMLvEWtOK5cZZk1nC2Dw6mhENZWQv4BFDI4ROryaXCXYuGNa16VAYB42ly3t0F4xixutrLUfkQMGWwj9rrIXIPF/2od3oVZe/r9AiXHBwewZPZPNO5XG7bNOBxmityRpUY3LZyrKha9J91+Fxey9dJU+6UcFo4ME/eivsvil/sgu6aBmogPX5ZEVyXw25rYjebXGneY/07WjOiSnyN1OTP7J/Vs/fN8a4rfz8A7jTJ4690jlhz1SY+xpntK5RBLDJ/ARPL1rBEWNeGAGVdVJgQq5lHbNL4v6sLAgCP6edaAN/i9dDXQq+tP3NSYQFQ5vTWgh0lkrhC/XSrcIuJap4Moe+lS7NEW/OZ42bbw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB6806.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(8936002)(86362001)(38100700002)(26005)(6862004)(38350700002)(6636002)(44832011)(508600001)(36756003)(53546011)(37006003)(316002)(16576012)(2616005)(66556008)(6486002)(5660300002)(186003)(66476007)(956004)(66946007)(52116002)(2906002)(8676002)(83380400001)(31686004)(31696002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB3383 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 5d5735ce-8d1f-44f2-c855-08d98a64d84f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 28gM/XIIHy0tX58q3rBPJLt3vSxpptaS9BhqkOMTjQ1oLcYCtu4xPJuLXH+G/qZfKEDbwSpHhdO8Uspriq5HdIoJFYfDXrlIhu4GFDzHTGoqzL9AwUaBM5vGhzNIVrsbQfVvVUgJEvNlIBKfsnX+YKt7wkKvU/82twQPhvDnOvaSVSvcD/b7X4L0cztXWEv+iXom36Bsn3KhNvua5PaXd2Kjz7wN3Vh8nsFRjkMxowuHlaLf+SHcPa0xGN0ntaFfL9/GOZsHdi56MYSGDjSnnJaeeIvaCrnIqHZMHQooe0x9zWALVCKQWEp3b3UZ8VIAzRE/e0Pv7LDaxieGZLtcqaLtG2so9WthhukBcESANZsJgaz71vodhn+dwuKDewvbXUnelX8Po7pwjc/Q8ch/IHKl4vRcip7AS5hShtZGWt4hK0Mh/uEa2v7cMgR+wH72G7pJrBO9jcyo0Z4TSnWybA3jOd40ezvhLr4RrfpKScpbs9E0RwnnOBekkVWaqN6YBsBoyTZLYsNdZp/9u5S+Ssd5eAsQW6rrMSPXMJYojAQwLD7T4G05xc0LrYjCgp7FS0/UF4RNnwbXsAfGRuNmgZsE+tAvqAyOOPMO2+d2XvJ2AQNB4ilza/ufbfYk+hX0J0KWdcD8AbBJTp782U0L1P/dA/6UNJdekMNVT3Mj6Sa4YDKmG2NUHjfzJtBkJnr+eKuhKvNJhsj2ghYOeMvXggs/FFKJXP4Bu/nRB8hy3GY= X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(46966006)(36840700001)(26005)(8936002)(47076005)(31686004)(8676002)(6666004)(6636002)(508600001)(44832011)(5660300002)(82310400003)(2906002)(36756003)(37006003)(186003)(70586007)(53546011)(31696002)(956004)(356005)(81166007)(86362001)(70206006)(2616005)(83380400001)(6486002)(316002)(36860700001)(16576012)(6862004)(336012)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2021 14:06:46.8201 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7594ba4e-8da2-4e4e-ae98-08d98a64dd9c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM5EUR03FT049.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3042 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Content-Language: en-GB Hi Pierre, There is a minor typo in the commit message that I will fix when pushing the patch. Otherwise, this patch looks good to me. Reviewed-by: Sami Mujawar Regards, Sami Mujawar On 07/10/2021 04:31 PM, Pierre.Gondois@arm.com wrote: > From: Pierre Gondois > > The following functions: > - AmlCreateRootNode() > - AmlCreateObjectNode() > - AmlCreateDataNode() > create a node and return it by populating a pointer. This pointer > should only be considered/used if the function returns successfully. > Otherwise, the value stored in this pointer should be ignored. > > For their error handling, some other functions assume that this > pointer is reset to NULL if an error occurs during a node creation. > To make this assumption correct, exlpicitely clear this input pointer. > > Signed-off-by: Pierre Gondois > --- > .../Library/Common/AmlLib/CodeGen/AmlCodeGen.c | 10 ++++++++-- > .../AmlLib/CodeGen/AmlResourceDataCodeGen.c | 10 ++++++++-- > .../Library/Common/AmlLib/Tree/AmlNode.c | 18 +++++++++++++++--- > .../Library/Common/AmlLib/Tree/AmlNode.h | 12 +++++++++--- > 4 files changed, 40 insertions(+), 10 deletions(-) > > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c = b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > index 5d310f201319..4775b68cd974 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlCodeGen.c > @@ -22,7 +22,9 @@ > @param [in] Node Newly created node. > @param [in] ParentNode If provided, set ParentNode as the parent > of the node created. > - @param [out] NewObjectNode If success, contains the created object no= de. > + @param [out] NewObjectNode If not NULL: > + - and Success, contains the created Node. > + - and Error, reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -39,7 +41,7 @@ LinkNode ( > EFI_STATUS Status; > > if (NewObjectNode !=3D NULL) { > - *NewObjectNode =3D Node; > + *NewObjectNode =3D NULL; > } > > // Add RdNode as the last element. > @@ -51,6 +53,10 @@ LinkNode ( > } > } > > + if (NewObjectNode !=3D NULL) { > + *NewObjectNode =3D Node; > + } > + > return EFI_SUCCESS; > } > > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDa= taCodeGen.c b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDat= aCodeGen.c > index 089597a6c906..cba942c0fd1a 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeG= en.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/CodeGen/AmlResourceDataCodeG= en.c > @@ -33,7 +33,9 @@ > RdNode is then added at the end of the vari= able > list of resource data elements, but before = the > "End Tag" Resource Data. > - @param [out] NewRdNode If not NULL, update the its value to RdNode. > + @param [out] NewRdNode If not NULL: > + - and Success, contains RdNode. > + - and Error, reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -52,7 +54,7 @@ LinkRdNode ( > AML_OBJECT_NODE *BufferOpNode; > > if (NewRdNode !=3D NULL) { > - *NewRdNode =3D RdNode; > + *NewRdNode =3D NULL; > } > > if (ParentNode !=3D NULL) { > @@ -85,6 +87,10 @@ LinkRdNode ( > } > } > > + if (NewRdNode !=3D NULL) { > + *NewRdNode =3D RdNode; > + } > + > return Status; > > error_handler: > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c b/Dyna= micTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c > index 3740c0ac7bb8..300b07a2efe4 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c > +++ b/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c > @@ -79,7 +79,9 @@ AmlDeleteRootNode ( > > @param [in] SdtHeader Pointer to an ACPI DSDT/SSDT header to = copy > the data from. > - @param [out] NewRootNodePtr The created AML_ROOT_NODE. > + @param [out] NewRootNodePtr If success, contains the created > + AML_ROOT_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -101,6 +103,8 @@ AmlCreateRootNode ( > return EFI_INVALID_PARAMETER; > } > > + *NewRootNodePtr =3D NULL; > + > RootNode =3D AllocateZeroPool (sizeof (AML_ROOT_NODE)); > if (RootNode =3D=3D NULL) { > ASSERT (0); > @@ -163,7 +167,9 @@ AmlDeleteObjectNode ( > @param [in] PkgLength PkgLength of the node if the AmlByteE= ncoding > has the PkgLen attribute. > 0 otherwise. > - @param [out] NewObjectNodePtr The created AML_OBJECT_NODE. > + @param [out] NewObjectNodePtr If success, contains the created > + AML_OBJECT_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -186,6 +192,8 @@ AmlCreateObjectNode ( > return EFI_INVALID_PARAMETER; > } > > + *NewObjectNodePtr =3D NULL; > + > ObjectNode =3D AllocateZeroPool (sizeof (AML_OBJECT_NODE)); > if (ObjectNode =3D=3D NULL) { > ASSERT (0); > @@ -252,7 +260,9 @@ AmlDeleteDataNode ( > this node. Data is copied from there. > @param [in] DataSize Number of bytes to consider at the addr= ess > pointed by Data. > - @param [out] NewDataNodePtr The created AML_DATA_NODE. > + @param [out] NewDataNodePtr If success, contains the created > + AML_DATA_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -284,6 +294,8 @@ AmlCreateDataNode ( > return EFI_INVALID_PARAMETER; > } > > + *NewDataNodePtr =3D NULL; > + > DataNode =3D AllocateZeroPool (sizeof (AML_DATA_NODE)); > if (DataNode =3D=3D NULL) { > ASSERT (0); > diff --git a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.h b/Dyna= micTablesPkg/Library/Common/AmlLib/Tree/AmlNode.h > index 3584b572baae..465a0e2b4b2f 100644 > --- a/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.h > +++ b/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.h > @@ -17,7 +17,9 @@ > > @param [in] SdtHeader Pointer to an ACPI DSDT/SSDT header to = copy > the data from. > - @param [out] NewRootNodePtr The created AML_ROOT_NODE. > + @param [out] NewRootNodePtr If success, contains the created > + AML_ROOT_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -36,7 +38,9 @@ AmlCreateRootNode ( > @param [in] PkgLength PkgLength of the node if the AmlByteE= ncoding > has the PkgLen attribute. > 0 otherwise. > - @param [out] NewObjectNodePtr The created AML_OBJECT_NODE. > + @param [out] NewObjectNodePtr If success, contains the created > + AML_OBJECT_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. > @@ -57,7 +61,9 @@ AmlCreateObjectNode ( > this node. Data is copied from there. > @param [in] DataSize Number of bytes to consider at the addr= ess > pointed by Data. > - @param [out] NewDataNodePtr The created AML_DATA_NODE. > + @param [out] NewDataNodePtr If success, contains the created > + AML_DATA_NODE. > + Otherwise reset to NULL. > > @retval EFI_SUCCESS The function completed successfully. > @retval EFI_INVALID_PARAMETER Invalid parameter. IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you.