<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg, 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/UefiHiiLib: Fix memory leaks in ValidateQuestionFromVfr</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:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=0bdafe9fb28ffd54dbc1fe74659a491e57ebeadb'/>
<id>urn:sha1:0bdafe9fb28ffd54dbc1fe74659a491e57ebeadb</id>
<content type='text'>
QuestionName is allocated by HiiGetString() but is not released in
several code path. This causes memory leaks whenever these paths are
taken.

Add FreePool (QuestionName) 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/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/UsbBusDxe: Raise TPL to CALLBACK for wanted UsbIo connect</title>
<updated>2026-09-21T06:06:06+00:00</updated>
<author>
<name>Marlboro_Chuang</name>
<email>Marlboro_Chuang@dell.com</email>
</author>
<published>2025-07-27T08:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=2ba169b02f7eebb34816c2d02a1cd9f92a524b1a'/>
<id>urn:sha1:2ba169b02f7eebb34816c2d02a1cd9f92a524b1a</id>
<content type='text'>
Raise TPL to TPL_CALLBACK around the ConnectController() call in
UsbBusRecursivelyConnectWantedUsbIo() and restore the original TPL
afterward.

UsbBusRecursivelyConnectWantedUsbIo() is normally reached through the
DriverBinding Start routine invoked by gBS-&gt;ConnectController(), which
runs at TPL_APPLICATION. While the wanted UsbIo handle is being
connected, the USB device can be removed. The device removal polling
event in UsbBus runs at TPL_CALLBACK. If the connect runs at
TPL_APPLICATION, that event can preempt the connection and cause
commands to be sent to a stale or non-existent USB device address,
producing a lot of timeout transfers.

This differs from UsbConnectDriver(), which is called from the
enumeration polling event (XHCI async event) and is usually already
at TPL_CALLBACK or TPL_NOTIFY. That function uses RestoreTPL()/
RaiseTPL() to ensure ConnectController() runs at TPL_CALLBACK.

Signed-off-by: Marlboro_Chuang &lt;marlboro.chuang@dell.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/UsbBusDxe: Handle a quirk in Interface descriptor</title>
<updated>2026-09-21T04:54:36+00:00</updated>
<author>
<name>Marlboro_Chuang</name>
<email>Marlboro_Chuang@dell.com</email>
</author>
<published>2025-07-27T10:39:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=82138022d2c283b6bbddb1cc575e2d2f8e66f779'/>
<id>urn:sha1:82138022d2c283b6bbddb1cc575e2d2f8e66f779</id>
<content type='text'>
Some specific device requires a quirk in the Interface descriptor for
InterfaceNumber to work properly

[Suggested Solution]
Implement the mechanism to ensure the first InterfaceNumber not equal
to zero.

Signed-off-by: Marlboro_Chuang &lt;marlboro.chuang@dell.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Add EFIAPI to GptLib functions</title>
<updated>2026-09-18T17:02:19+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2026-09-17T15:49:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=e2e66ae1d346380c191bb2b4d4badcbefdb22715'/>
<id>urn:sha1:e2e66ae1d346380c191bb2b4d4badcbefdb22715</id>
<content type='text'>
EFIAPI is required on library interface functions to ensure that the
correct calling convention is used.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.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: Report EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE</title>
<updated>2026-09-07T07:37:40+00:00</updated>
<author>
<name>Sachin Ganesh</name>
<email>sachinganesh@ami.com</email>
</author>
<published>2026-08-07T19:11:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=11acd945a41153aa9d6027b42aff693f68abeb4e'/>
<id>urn:sha1:11acd945a41153aa9d6027b42aff693f68abeb4e</id>
<content type='text'>
Previously EfiBootManagerBoot reported
EFI_SW_DXE_BS_EC_BOOT_OPTION_FAILED when a boot option returned an
error, but reported nothing on success. Report the PI 1.10 status
code EFI_SW_DXE_BS_PC_BOOT_OPTION_COMPLETE when a boot option loads,
executes, and returns success, so status code listeners can tell that
a boot option was attempted and that control returned to firmware.

Signed-off-by: Sachin Ganesh &lt;sachinganesh@ami.com&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: DxeIpl: Don't Duplicate Mem Alloc Hob for Stack</title>
<updated>2026-09-03T09:00:37+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2026-09-02T19:44:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ee655c4d815231bd0916fbdde7a59f4dfdf0ee9f'/>
<id>urn:sha1:ee655c4d815231bd0916fbdde7a59f4dfdf0ee9f</id>
<content type='text'>
Currently, DxeIpl will allocate memory for the new DXE stack,
which creates a memory allocation HOB for that region. It will
then call UpdateStackHob() to find the stack HOB with the old
stack info and update the memory address/length to correspond
to the new stack. It then creates a new memory allocation HOB
for the old stack region as it needs to remain mapped.

This ends up creating two memory allocation HOBs for the new
stack: a regular memory allocation HOB for the AllocatePages()
call and then the stack HOB (which is a memory allocation HOB
with a special name).

When DXE Core ingests these, it will ignore one of the two HOBs
when it goes to allocate memory. However, this is incorrectly
describing handoff state. There never should be overlapping
memory allocation HOBs.

This commit updates DxeIpl behavior to instead find the old
stack HOB, convert it to a regular memory allocation HOB,
then find the memory allocation HOB for the new stack range
and convert it into the stack HOB.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
</feed>
