<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/DynamicTablesPkg/Library/Common/AmlLib/Tree/AmlNode.c, branch master</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-09-23T12:23:44+00:00</updated>
<entry>
<title>DynamicTablesPkg/AmlLib: Fix root node cleanup leak</title>
<updated>2026-09-23T12:23:44+00:00</updated>
<author>
<name>Amrathesh</name>
<email>amrathesh@arm.com</email>
</author>
<published>2026-09-18T06:46:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5846c662d04ec86a5f3bd56f323dc1c7b779b74b'/>
<id>urn:sha1:5846c662d04ec86a5f3bd56f323dc1c7b779b74b</id>
<content type='text'>
AmlCreateRootNode() calls AmlDeleteRootNode() when SDT header
allocation fails. However, AmlDeleteRootNode() rejects a NULL header
and returns without freeing the root node, leaking the node allocation.

Allow AmlDeleteRootNode() to handle a NULL SDT header and always free
the root node.

Signed-off-by: Amrathesh &lt;amrathesh@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg/AmlLib: Fix data node cleanup leak</title>
<updated>2026-09-23T12:23:44+00:00</updated>
<author>
<name>Amrathesh</name>
<email>amrathesh@arm.com</email>
</author>
<published>2026-09-18T06:36:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=aaa871e1ab6e3ba714165671ceb1f48a982b8850'/>
<id>urn:sha1:aaa871e1ab6e3ba714165671ceb1f48a982b8850</id>
<content type='text'>
AmlCreateDataNode() calls AmlDeleteDataNode() when buffer allocation
fails. However, AmlDeleteDataNode() rejects a NULL buffer and returns
without freeing the data node, leaking the node allocation.

Allow AmlDeleteDataNode() to handle a NULL buffer and always free the
data node.

Signed-off-by: Amrathesh &lt;amrathesh@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Validate AML package length on node creation</title>
<updated>2026-09-10T10:21:41+00:00</updated>
<author>
<name>VarshitPandya</name>
<email>varshit.pandya@arm.com</email>
</author>
<published>2026-08-26T21:21:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=007f431ff4d386229b2a3866ca1f792b09cc0577'/>
<id>urn:sha1:007f431ff4d386229b2a3866ca1f792b09cc0577</id>
<content type='text'>
Validate that the package length passed to AmlCreateObjectNode() fits
within the 28-bit limit defined by the AML package-length encoding.

Perform the validation centrally so that it applies consistently to all
callers.

Signed-off-by: Varshit Pandya &lt;varshit.pandya@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Fix some spelling mistakes found by cspell</title>
<updated>2024-08-01T19:53:47+00:00</updated>
<author>
<name>Rebecca Cran</name>
<email>rebecca@bsdio.com</email>
</author>
<published>2024-07-30T16:02:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=bbee1cc852fa8676ed0b530b1c67c92f32f4f740'/>
<id>urn:sha1:bbee1cc852fa8676ed0b530b1c67c92f32f4f740</id>
<content type='text'>
When cspell is installed (via `npm install cspell`), CI checks for
spelling mistakes. There are currently a very large number of them: some
are genuine mistakes while others are words or acryonyms that cspell
doesn't know.

Fix a few of the misspellings in DynamicTablesPkg.

Signed-off-by: Rebecca Cran &lt;rebecca@bsdio.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Apply uncrustify changes</title>
<updated>2021-12-07T17:24:28+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2021-12-05T22:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=731c67e1d77b7741a91762d17659fc9fbcb9e305'/>
<id>urn:sha1:731c67e1d77b7741a91762d17659fc9fbcb9e305</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the DynamicTablesPkg package

Cc: Andrew Fish &lt;afish@apple.com&gt;
Cc: Leif Lindholm &lt;leif@nuviainc.com&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: Clear pointer in node creation fcts</title>
<updated>2021-10-08T15:39:42+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>Pierre.Gondois@arm.com</email>
</author>
<published>2021-10-08T14:46:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2dd7dd3952c78e1c3bc0e512be67a359a091215f'/>
<id>urn:sha1:2dd7dd3952c78e1c3bc0e512be67a359a091215f</id>
<content type='text'>
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, explicitly clear this input pointer.

Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Signed-off-by: Pierre Gondois &lt;Pierre.Gondois@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: AmlLib fix ECC errors</title>
<updated>2020-10-21T13:33:03+00:00</updated>
<author>
<name>Sami Mujawar</name>
<email>sami.mujawar@arm.com</email>
</author>
<published>2020-09-21T17:08:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5e0b708f7406ee096c7020a5c3e552574a23fe7d'/>
<id>urn:sha1:5e0b708f7406ee096c7020a5c3e552574a23fe7d</id>
<content type='text'>
Fix the following ECC reported errors in AmlLib.
  - [1008]  File has invalid Non-ACSII char.
  - [9002]  The function headers should follow Doxygen special
            documentation blocks in section 2.3.5 Comment does NOT
            have tail **/

Signed-off-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
</content>
</entry>
<entry>
<title>DynamicTablesPkg: AML node definitions</title>
<updated>2020-08-13T18:00:06+00:00</updated>
<author>
<name>Pierre Gondois</name>
<email>pierre.gondois@arm.com</email>
</author>
<published>2020-07-29T12:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=bcab901b7cc3b433bca5779a770ba3edbc7153f4'/>
<id>urn:sha1:bcab901b7cc3b433bca5779a770ba3edbc7153f4</id>
<content type='text'>
AML has a complex grammar, and this makes runtime modifications
on an AML byte stream difficult. A solution is to parse the AML
bytecode and represent it in a tree data structure, henceforth
called the AML tree.

The AML tree is composite in the sense it has the following node
types:
 - A 'Root node' that represents the root of the AML tree.
 - An 'Object node' that contains the OP Code (AML Encoding).
 - A 'Data node' that contains a data buffer.

The Root node contains the Definition block header (ACPI header)
and a Variable Argument list.
The Object node is composed of an array of Fixed Arguments and
a Variable Argument list.

Fixed arguments can be either Object Nodes or Data nodes. Their
placement (index) in the Fixed Argument array is defined by the
AML encoding of the enclosing Object Node.

Variable arguments can be Object nodes or Data nodes.

Following is a depiction of a typical AML tree:

 (/)                         # Root Node
   \
   |-{(N1)-&gt;...}             # Variable Argument list, N1 is
        \                    # an Object Node
         \         /-i       # Child of fixed argument b
          \       /
          |- [a][b][c][d]    # Fixed Arguments
          |- {(e)-&gt;(f)-&gt;(g)} # Variable Arguments
                \
                 \-h         # Child of variable argument e

Signed-off-by: Pierre Gondois &lt;pierre.gondois@arm.com&gt;
Signed-off-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
</content>
</entry>
</feed>
