<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdeModulePkg/Universal/Variable, branch dependabot/github_actions/github/codeql-action-4</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Fgithub%2Fcodeql-action-4'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2025-09-25T22:04:10+00:00</updated>
<entry>
<title>MdeModulePkg: Remove ARM32 Support</title>
<updated>2025-09-25T22:04:10+00:00</updated>
<author>
<name>Oliver Smith-Denny</name>
<email>osde@microsoft.com</email>
</author>
<published>2025-09-15T16:26:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=ef79d5842734e0504f58aef86142079ed26b7238'/>
<id>urn:sha1:ef79d5842734e0504f58aef86142079ed26b7238</id>
<content type='text'>
edk2 is dropping support for the ARM32 architecture. This
commit removes ARM32 support from MdeModulePkg. This also
drops irrelevant VALID_ARCHITECTURE comments from infs that
are not arch specific.

Signed-off-by: Oliver Smith-Denny &lt;osde@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Variable cumulative codeql issues.</title>
<updated>2025-08-07T07:57:31+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2025-05-08T02:50:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d68f418300cd13005d2c78fc8d918b61698f5d00'/>
<id>urn:sha1:d68f418300cd13005d2c78fc8d918b61698f5d00</id>
<content type='text'>
Running Codeql on MdeModulePkg/Universal/Variable drivers results
in codeql errors stemming for the following two checks.

- cpp/comparison-with-wider-type
- cpp/overflow-buffer
- cpp/missing-null-test

Signed-off-by: Aaron Pop &lt;aaronpop@microsoft.com&gt;

Co-authored-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
Co-authored-by: Taylor Beebe &lt;tabeebe@microsoft.com&gt;
Co-authored-by: pohanch &lt;125842322+pohanch@users.noreply.github.com&gt;
Co-authored-by: kenlautner &lt;85201046+kenlautner@users.noreply.github.com&gt;
Co-authored-by: Oliver Smith-Denny &lt;osde@linux.microsoft.com&gt;
Co-authored-by: Sean Brogan &lt;sean.brogan@microsoft.com&gt;
Co-authored-by: Aaron &lt;aaronpop@microsoft&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: MmVariablePei: Use MM communicate v3</title>
<updated>2025-06-26T21:43:56+00:00</updated>
<author>
<name>Kun Qin</name>
<email>kuqin@microsoft.com</email>
</author>
<published>2025-05-14T20:22:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=51d273d8c3dbc36f25f3d2af27bef6e01604d90c'/>
<id>urn:sha1:51d273d8c3dbc36f25f3d2af27bef6e01604d90c</id>
<content type='text'>
As the MM cores begin to support MM Communicate v3, this update moves the
driver to communicate to MM agent through MM Communicate v3 PPI.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: VariableSmmRuntimeDxe: Use MM communicate v3</title>
<updated>2025-06-26T21:43:56+00:00</updated>
<author>
<name>Kun Qin</name>
<email>kuqin@microsoft.com</email>
</author>
<published>2025-04-21T04:47:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=23e1fc6b0bea0849e1a9be0caf915f9121612353'/>
<id>urn:sha1:23e1fc6b0bea0849e1a9be0caf915f9121612353</id>
<content type='text'>
As MM cores start to support MM communciate v3. This change moves the
variable driver to use MM communicate v3 if it is available, otherwise the
driver will fallback to v2 to keep the same functionality.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: Fix function typos</title>
<updated>2025-06-12T17:50:45+00:00</updated>
<author>
<name>Gao Qihang</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2025-06-12T02:12:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=a808062890de96d8f816aa920d9b5cf13151a40c'/>
<id>urn:sha1:a808062890de96d8f816aa920d9b5cf13151a40c</id>
<content type='text'>
functin -&gt; function

Signed-off-by: Gao Qihang &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/Variable: Init var policy after SMM variable is ready</title>
<updated>2025-02-25T19:12:17+00:00</updated>
<author>
<name>Michael Kubacki</name>
<email>michael.kubacki@microsoft.com</email>
</author>
<published>2025-02-07T15:11:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1428b94fc0727dea94ac05a162857f4a97fb21c8'/>
<id>urn:sha1:1428b94fc0727dea94ac05a162857f4a97fb21c8</id>
<content type='text'>
On a MM system, the main UEFI variable logic resides in MMRAM. In
that case, the variable policy logic in `VarCheckPolicyLib`, such as
`VarCheckPolicyLibStandaloneMm` is linked against the MM driver also
in that case `VariableStandaloneMm`.

The MM variable driver indicates its presence to the RT DXE driver
via `gEfiSmmVariableProtocolGuid` to indicate variable read support
is available from MM. This triggers installation of the variable
architectural protocol in DXE.

Today, variable policy is initialized by calling
`VariablePolicySmmDxeMain()` in `VariableSmmRuntimeInitialize()`. In
turn, this installs `gEdkiiVariablePolicyProtocolGuid`. Functions in
`gEdkiiVariablePolicyProtocolGuid` may trigger MMIs. However, it is
possible that the MM variable driver which is linked against the code
with the variable policy MMI handlers (i.e. `VarCheckPolicyLib`) is
not loaded yet.

Therefore, this change moves invocation of
`VariablePolicySmmDxeMain()` to `SmmVariableReady()` which is called
on installation of `gEfiSmmVariableProtocolGuid` indicating variable
MM services are ready. `gEdkiiVariablePolicyProtocolGuid` is still
installed prior to the variable architectural protocol being
installed.

Signed-off-by: Michael Kubacki &lt;michael.kubacki@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/VariableRuntimeDxe: Fix VariablePolicyProtocol PRODUCES</title>
<updated>2024-09-11T01:35:18+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2024-09-09T15:55:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=1328938560be440f25c122bcf6635af210291a4e'/>
<id>urn:sha1:1328938560be440f25c122bcf6635af210291a4e</id>
<content type='text'>
If we search the codebase for &amp;gEdkiiVariablePolicyProtocolGuid
we can find two drivers which install this policy:
VariableRuntimeDxe (installed in VariableDxe.c) and
VariableSmmRuntimeDxe (installed in VariablePolicySmmDxe.c).

The .inf file for VariableRuntimeDxe incorrectly lists the protocol
as CONSUMES in the comment, so change this to PRODUCES.

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/VariableStandaloneMm: Notify variable write ready in MM</title>
<updated>2024-09-02T04:43:49+00:00</updated>
<author>
<name>Wei6 Xu</name>
<email>wei6.xu@intel.com</email>
</author>
<published>2024-09-02T02:06:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=91853ca6a5497c1b6e8ff356b6fffd977f7f5b38'/>
<id>urn:sha1:91853ca6a5497c1b6e8ff356b6fffd977f7f5b38</id>
<content type='text'>
In Standalone MM, there is no notification to MM drivers that variable
write is ready. Install gSmmVariableWriteGuid into MM handle database
for the notification.

Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Ray Ni &lt;ray.ni@intel.com&gt;
Signed-off-by: Wei6 Xu &lt;wei6.xu@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg/VariableStandaloneMm: Fix TCG MOR secure feature issue</title>
<updated>2024-08-30T13:18:08+00:00</updated>
<author>
<name>Wei6 Xu</name>
<email>wei6.xu@intel.com</email>
</author>
<published>2024-08-16T08:33:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=5aa684271512d180514e671f7a7266e67db8df92'/>
<id>urn:sha1:5aa684271512d180514e671f7a7266e67db8df92</id>
<content type='text'>
According to TCG's Platform Reset Attack Mitigation spec, the OS should
never create the MOR variable, only read and write it.
But some OSes (Fedora 24 and 25) don't follow the TCG's Platform Reset
Attack Mitigation spec and unintentionally create MOR variable.

The commit fda8f631edbbf3823760542a06f12bd60fd39181 added function
VariableHaveTcgProtocols() to check against Tcg/Tcg2 protocol to infer
whether the MOR variable is created by platform firmware or not. If not,
delete the variable created by OS and lock the variable to avoid OS to
create it.

But in VariableStandaloneMm, VariableHaveTcgProtocols() always returns
FALSE, it causes TCG MOR secure feature does not work in standalone MM
environment.

As Fedora 24 and 25 are EOL today, directly returns TRUE in the function
VariableHaveTcgProtocols() for VariableStandaloneMm, and rename the
function to VariableIsMorVariableLegitimate() to make it more obvious
what the narrow use-case is for which it exists.

Signed-off-by: Wei6 Xu &lt;wei6.xu@intel.com&gt;
</content>
</entry>
<entry>
<title>MdeModulePkg: fix issue caused by uninitialized variable</title>
<updated>2024-07-29T06:43:27+00:00</updated>
<author>
<name>Dun Tan</name>
<email>dun.tan@intel.com</email>
</author>
<published>2024-07-29T01:32:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=43e2395c1b130540820957305451340e1fff81e4'/>
<id>urn:sha1:43e2395c1b130540820957305451340e1fff81e4</id>
<content type='text'>
This patch is to fix issue caused by uninitialized local
variable in Pei/Variable.c.

In the fucntion CalculateHobVariableCacheSize(), the local
variable VARIABLE_STORE_INFO StoreInfo is used without
initialization. When the uninitialized variable is passed
to CalculateAuthVarStorageSize() and GetNextVariablePtr(),
the field StoreInfo-&gt;FtwLastWriteData might be a uninitialized
non-zero value. Then the code execution will access the
invalid address StoreInfo-&gt;FtwLastWriteData-&gt;TargetAddress.
This might cause issue.

So in this commit, the local variable VARIABLE_STORE_INFO
StoreInfo is initialized by a ZeroMem() before use.

Signed-off-by: Dun Tan &lt;dun.tan@intel.com&gt;
</content>
</entry>
</feed>
