<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/ShellPkg/Library/UefiShellAcpiViewCommandLib/Parsers/Dbg2, 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>2024-08-01T17:20:10+00:00</updated>
<entry>
<title>ShellPkg/AcpiView: Update field-validator prototype</title>
<updated>2024-08-01T17:20:10+00:00</updated>
<author>
<name>Rohit Mathew</name>
<email>Rohit.Mathew@arm.com</email>
</author>
<published>2023-08-22T11:20:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=107d0c380009ad3b17a1730fce264eefdd027616'/>
<id>urn:sha1:107d0c380009ad3b17a1730fce264eefdd027616</id>
<content type='text'>
As of now, the field-validator implemented by FNPTR_FIELD_VALIDATOR
function pointer takes two parameters, the pointer to the field and a
context pointer. For cases where the validator has to have access to the
length of the field, there is no clean way to currently do it. In order
to resolve this, this commit updates the field-validator's prototype to
take the length of the field as an additional parameter.

This enhancement allows field validators to perform more comprehensive
validation, especially when the length of the field is critical to the
validation logic. This change should improve the overall robustness and
flexibility of AcpiView.

Signed-off-by: Rohit Mathew &lt;Rohit.Mathew@arm.com&gt;
Cc: James Morse &lt;james.Morse@arm.com&gt;
Cc: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Cc: Thomas Abraham &lt;thomas.abraham@arm.com&gt;
Cc: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: 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:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=47d20b54f9a65b08aa602a1866c1b59a69088dfc'/>
<id>urn:sha1:47d20b54f9a65b08aa602a1866c1b59a69088dfc</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the ShellPkg 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: Ray Ni &lt;ray.ni@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: Prevent infinite loop if structure length is 0</title>
<updated>2020-02-20T09:27:00+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2020-02-19T10:23:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b85048261aa5dc0b8fd98ddc4431d8c2a6389b25'/>
<id>urn:sha1:b85048261aa5dc0b8fd98ddc4431d8c2a6389b25</id>
<content type='text'>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2534

Extend validation of ACPI structure lengths which are read from the
ACPI table being parsed. Additionally check if the structure 'Length'
field value is positive. If not, stop parsing the faulting table.

Some ACPI tables define internal structures of variable size. The
'Length' field inside the substructure is used to update a pointer used
for table traversal. If the byte-length of the structure is equal to 0,
acpiview can enter an infinite loop. This condition can occur if, for
example, the zero-allocated ACPI table buffer is not fully populated.
This is typically a bug on the ACPI table writer side.

In short, this method helps acpiview recover gracefully from a
zero-valued ACPI structure length.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: DBG2: Validate global pointers before use</title>
<updated>2020-02-11T02:12:45+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2020-01-20T11:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ccb4c38a505cc830625d9ba10622cd910f03490c'/>
<id>urn:sha1:ccb4c38a505cc830625d9ba10622cd910f03490c</id>
<content type='text'>
Check if global (in the scope of the DBG2 parser) pointers have been
successfully updated before they are used for further table parsing.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: DBG2: Prevent buffer overruns</title>
<updated>2019-08-12T17:13:41+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-08-01T23:44:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ffb18f7710af7e1aba192ac226528e28a4011bdb'/>
<id>urn:sha1:ffb18f7710af7e1aba192ac226528e28a4011bdb</id>
<content type='text'>
Modify the DBG2 table parsing logic to prevent reading past the ACPI
buffer lengths provided.

Modify the signature of the DumpDbgDeviceInfo() function to make it
consistent with the ACPI structure processing functions in other
acpiview parsers. Now, the length of the Debug Device Information
Structure is read before the entire structure is dumped.

This refactoring change makes it easier to stop reading beyond the
DBG2 table buffer if the Debug Device Information Structure Buffer
does not fit in the DBG2 buffer.

For processing the first two fields of the Debug Device Information
Structure (to get the length) a new ACPI_PARSER array is defined.

References:
- Microsoft Debug Port Table 2 (DBG2), December 10, 2015

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@inte.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: Allow passing buffer length to DumpGasStruct()</title>
<updated>2019-07-31T16:52:43+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-07-22T22:50:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=58cc0ffe68e249ffcc73ee3d8e2120be27793f28'/>
<id>urn:sha1:58cc0ffe68e249ffcc73ee3d8e2120be27793f28</id>
<content type='text'>
Modify the signature of the DumpGasStruct() function to include the
buffer length parameter and to return the number of bytes parsed by
the function.

This way it becomes possible to prevent buffer overruns when dumping
Generic Address Structure's (GAS) fields in the acpiview table
parsers.

Update all existing DumpGasStruct() calls in acpiview to add the
length argument.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: DBG2: Remove redundant forward declarations</title>
<updated>2019-07-19T15:33:06+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-07-19T01:05:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8ff68cd5e4c91c97f36ac0f44d9f2b4ea12b5e0d'/>
<id>urn:sha1:8ff68cd5e4c91c97f36ac0f44d9f2b4ea12b5e0d</id>
<content type='text'>
Remove redundant forward function declarations by repositioning
blocks of code. This way the code structure is consistent across
ACPI table parsers and the code becomes more concise.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: acpiview: Make DBG2 output consistent with other tables</title>
<updated>2019-07-02T09:22:45+00:00</updated>
<author>
<name>Krzysztof Koch</name>
<email>krzysztof.koch@arm.com</email>
</author>
<published>2019-06-28T10:24:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3d3144350237017e3260bf37fbcc0ed30d2da5be'/>
<id>urn:sha1:3d3144350237017e3260bf37fbcc0ed30d2da5be</id>
<content type='text'>
Print an extra newline character at the end DBG2 table parsing in order
to make the output resemble the one for other ACPI table parsers.

With this change, there is now a blank line between the DBG2 table dump
and the 'Table Statistics' section.

Signed-off-by: Krzysztof Koch &lt;krzysztof.koch@arm.com&gt;
Reviewed-by: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
Reviewed-by: Zhichao Gao &lt;zhichao.gao@intel.com&gt;
Reviewed-by: Sami Mujawar &lt;sami.mujawar@arm.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg: Replace BSD License with BSD+Patent License</title>
<updated>2019-04-09T17:58:25+00:00</updated>
<author>
<name>Michael D Kinney</name>
<email>michael.d.kinney@intel.com</email>
</author>
<published>2019-04-03T23:07:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=56ba37463a5ffa44df1c5741184ba0594fadbeba'/>
<id>urn:sha1:56ba37463a5ffa44df1c5741184ba0594fadbeba</id>
<content type='text'>
https://bugzilla.tianocore.org/show_bug.cgi?id=1373

Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:

  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html

RFCs with detailed process for the license change:

  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Reviewed-by: Ray Ni &lt;ray.ni@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
<entry>
<title>ShellPkg/UefiShellAcpiViewCommandLib: Fix VS2012 build failure</title>
<updated>2018-08-01T01:00:40+00:00</updated>
<author>
<name>Dandan Bi</name>
<email>dandan.bi@intel.com</email>
</author>
<published>2018-07-30T01:31:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e6f958d15d710da19dca3fb38943d83f1b3532d6'/>
<id>urn:sha1:e6f958d15d710da19dca3fb38943d83f1b3532d6</id>
<content type='text'>
Fix following build error:
UefiShellAcpiViewCommandLib\AcpiParser.c(519) :
error C2308: concatenating mismatched strings
Concatenating wide "ERROR: %a: Offset Mismatch for %s"
with narrow "CurrentOffset = %d FieldOffset = %d"

cc: Alexei Fedorov &lt;Alexei.Fedorov@arm.com&gt;
cc: Ruiyu Ni &lt;ruiyu.ni@intel.com&gt;
cc: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Dandan Bi &lt;dandan.bi@intel.com&gt;
Reviewed-by: Jaben Carsey &lt;jaben.carsey@intel.com&gt;
</content>
</entry>
</feed>
