<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Universal, 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-25T12:42:52+00:00</updated>
<entry>
<title>MdeModulePkg/SetupBrowserDxe: Fix memory leak in GetQuestionDefault()</title>
<updated>2026-09-25T12:42:52+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-09-18T08:16:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=76c4633bb7082abd9e54c3c829c1db4b5f3ee906'/>
<id>urn:sha1:76c4633bb7082abd9e54c3c829c1db4b5f3ee906</id>
<content type='text'>
StrValue is obtained from HiiGetString(), which allocates a new string
buffer. The buffer is used to set DefaultValue-&gt;Buffer but is never
released, causing a memory leak each time this code path is executed.

Add FreePool (StrValue) after it is no longer needed.

No functional change intended.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Variable: Log Reclaim() completion status</title>
<updated>2026-09-21T07:23:22+00:00</updated>
<author>
<name>Abdul Lateef Attar</name>
<email>AbdulLateef.Attar@amd.com</email>
</author>
<published>2026-09-03T08:48:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=586194e3067e914a00e06a85960acd71ad688867'/>
<id>urn:sha1:586194e3067e914a00e06a85960acd71ad688867</id>
<content type='text'>
Adds a DEBUG_INFO message when Reclaim() finishes so platform boot
logs show whether reclaim ran and what status it returned. This
makes it easier to distinguish reclaims impact on boot measurements.

Signed-off-by: Abdul Lateef Attar &lt;AbdulLateef.Attar@amd.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Update UI strings to indicate case-insensitive key options</title>
<updated>2026-09-15T03:00:02+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-09-09T03:25:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3492be2fa5067ec005becb20887fc681475b2ad7'/>
<id>urn:sha1:3492be2fa5067ec005becb20887fc681475b2ad7</id>
<content type='text'>
Update the prompt strings for save/exit and confirm actions to show both
uppercase and lowercase key options (e.g., 'Y(y)' and 'N(n)') to make it
clear that the system accepts either case. This improves user experience
by avoiding confusion about case sensitivity.

Affected strings:
- ARE_YOU_SURE (CustomizedDisplayLib)
- CONFIRM_OPTION (DisplayEngineDxe)
- RECONNECT_CHANGES_OPTIONS (DisplayEngineDxe)

French translations are updated accordingly.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/MonotonicCounterRuntimeDxe: Add VarPolicy to the MTC variable</title>
<updated>2026-09-03T17:41:04+00:00</updated>
<author>
<name>Mike Turner</name>
<email>miketur@microsoft.com</email>
</author>
<published>2021-09-13T19:51:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0f7bb55b20af7493abb566be531ecc2cdedcb6cc'/>
<id>urn:sha1:0f7bb55b20af7493abb566be531ecc2cdedcb6cc</id>
<content type='text'>
Applies a UEFI variable policy to the "MTC" variable to ensure that it
is the size of a UINT32 and the variable attributes are restricted
to BS, RT, and NV.

A protocol dependency on the Variable Policy Protocol is not added to
the driver's dependency expression to allow it to be dispatched in
firmware that does not have the Variable Policy Protocol installed.

Co-authored-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Improved error handling in RuntimeDxe Variable drivers</title>
<updated>2026-08-31T09:15:32+00:00</updated>
<author>
<name>Paddy Deng (AMI US Holdings Inc)</name>
<email>v-dengpaddy@microsoft.com</email>
</author>
<published>2026-06-12T08:26:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8bf75267f9311a8a66a3864ee71426c70bb288bb'/>
<id>urn:sha1:8bf75267f9311a8a66a3864ee71426c70bb288bb</id>
<content type='text'>
Some platforms may disable `ASSERT_DEADLOOP_ENABLED` in
`PcdDebugPropertyMask`. In this case ASSERT won't hang the machine.
Replaced those simple ASSERT with proper error returning handling.

Signed-off-by: Paddy Deng (AMI US Holdings Inc) &lt;v-dengpaddy@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Skip deleted vars in PeiVariable index table searches</title>
<updated>2026-08-27T13:22:19+00:00</updated>
<author>
<name>Ansen Huang</name>
<email>ansen.huang@microsoft.com</email>
</author>
<published>2025-11-03T23:02:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f24679c855400cb306f543bf353f102b9120ba7a'/>
<id>urn:sha1:f24679c855400cb306f543bf353f102b9120ba7a</id>
<content type='text'>
The Variable PEIM's index table optimization search path incorrectly
returns deleted variables instead of valid variables when duplicate
variables exist with different states.

This occurs when:

- One variable has deleted state (VAR_IN_DELETED_TRANSITION &amp; VAR_ADDED,
  value 0x3C)
- One variable has valid state (VAR_ADDED, value 0x3F)
- Both variables have the same name and GUID

The function should prioritize and return the valid variable, but the
index table search was returning the first match regardless of state
validity.

In the FindVariableEx() index table traversal, the function was not
properly validating variable states before returning a match. When
CompareWithValidVariable() found a matching variable name and GUID, it
would return immediately without checking if the variable state was
valid (0x3F) or deleted (0x3C).

This issue only affects the index table optimization search path and
does not impact the linear traversal search path. The Variable PEIM
has two main search mechanisms:

1. Linear traversal search - Walks through the entire variable store
checking each header sequentially. This path has correct state
validation logic and is unaffected by this issue.

2. Index table optimization search - Uses a gEfiVariableIndexTableGuid
HOB to quickly jump to variable locations. This optimization is only
active when the platform produces this HOB. This is the path affected
by the issue.

This commit adds explicit state validation in FindVariableEx() to skip
variables with deleted state (0x3C).

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix missing NULL tests</title>
<updated>2026-08-05T05:09:41+00:00</updated>
<author>
<name>Aaron Pop</name>
<email>aaronpop@microsoft.com</email>
</author>
<published>2025-10-22T18:33:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9b3ceeb254db5151df1ec5f2cacaea7a3cf0518c'/>
<id>urn:sha1:9b3ceeb254db5151df1ec5f2cacaea7a3cf0518c</id>
<content type='text'>
https://github.com/github/codeql/blob/codeql-cli-2.7.3/cpp/ql/src/Critical/MissingNullTest.qhelp

For items which allocate memory, or get a pointer from another
structure, it is important to validate that the pointers
are not null before they are dereferenced.

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/SmbiosDxe: fix table length check</title>
<updated>2026-08-01T04:35:21+00:00</updated>
<author>
<name>Gerd Hoffmann</name>
<email>kraxel@redhat.com</email>
</author>
<published>2026-05-07T06:35:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3f97b8bc7fd8eb8ab3af439bf521a7a73c0542b4'/>
<id>urn:sha1:3f97b8bc7fd8eb8ab3af439bf521a7a73c0542b4</id>
<content type='text'>
In case EntryPointStructure does not exist yet use a length of zero instead of
skipping the check altogether.  Fixes a heap overflow in the following code
flow in case the first smbios table installed is larger than
SMBIOS_TABLE_MAX_LENGTH.

Signed-off-by: Gerd Hoffmann &lt;kraxel@redhat.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/HiiDatabaseDxe: Fix potential intrinsic error</title>
<updated>2026-07-31T01:16:29+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2022-05-12T20:08:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=99afb1ffb0c5e1c772853a6e5b4ecb75ff95f896'/>
<id>urn:sha1:99afb1ffb0c5e1c772853a6e5b4ecb75ff95f896</id>
<content type='text'>
In some VS22 versions, these code patterns (assiging the scalar in
a loop) have been found to be converted into calls to the `memcpy`
intrinsic. This change updates them to use CopyMem to avoid the
potential error.

Previous:
- MSVC version: 14.31.31103

New:
- MSVC version: 14.32.31326

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/PartitionDxe: Abort on primary GPT recovery failure</title>
<updated>2026-07-20T21:50:57+00:00</updated>
<author>
<name>Richard Lyu</name>
<email>richard.lyu@suse.com</email>
</author>
<published>2026-06-25T07:07:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=070c9026f754b2c0b88445c8638eed0609673ccc'/>
<id>urn:sha1:070c9026f754b2c0b88445c8638eed0609673ccc</id>
<content type='text'>
When the primary GPT is invalid, PartitionInstallGptChildHandles()
restores it from the backup and re-validates it. Both the restore write
and the re-validation can fail (e.g. write-protected media, or a backup
AlternateLBA pointing beyond the device), yet the existing code only logs
the failure and parses partitions from a known-invalid PrimaryHeader.

Abort GPT processing when either the restore or the validation fails, so
partitions are only ever parsed from a validated primary GPT. The backup
recovery branch is left unchanged, as the primary is already validated.

A device with an unrecoverable primary GPT now installs no child handles
instead of using an invalid header. This keeps the table PartitionDxe uses
in sync with the one DxeTpm2MeasureBootLib measures into PCR[5].

Ref: https://seclists.org/oss-sec/2026/q2/727
Signed-off-by: Richard Lyu &lt;richard.lyu@suse.com&gt;
</content>
</entry>
</feed>
