<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/MdePkg/Library, branch dependabot/github_actions/actions/setup-python-7</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-7'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2026-07-18T15:04:29+00:00</updated>
<entry>
<title>MdePkg: BaseMemoryLib: Add memory barrier to SetMem</title>
<updated>2026-07-18T15:04:29+00:00</updated>
<author>
<name>Kun Qin</name>
<email>kuqin@microsoft.com</email>
</author>
<published>2026-07-14T00:44:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8f5a348a9d0502b041f76ab6cbb0d2b9d8599c24'/>
<id>urn:sha1:8f5a348a9d0502b041f76ab6cbb0d2b9d8599c24</id>
<content type='text'>
The implementation adds a toolchain-specific compiler barriers to
discourage reordering under aggressive optimization around memory
setting operations.

Signed-off-by: Kun Qin &lt;kun.qin@microsoft.com&gt;
</content>
</entry>
<entry>
<title>MdePkg/UefiDevicePathLib: Check allocated buffer before use</title>
<updated>2026-07-17T09:45:38+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-06-26T03:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9fcb50d56cbec9e715024b5700cbbb318dcda742'/>
<id>urn:sha1:9fcb50d56cbec9e715024b5700cbbb318dcda742</id>
<content type='text'>
The allocated buffer NewStr should be checked if it's NULL to avoid
null pointer dereference.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg/UefiDevicePathLib: Fix the potential memory leak issue</title>
<updated>2026-07-17T09:45:38+00:00</updated>
<author>
<name>Qihang Gao</name>
<email>gaoqihang@loongson.cn</email>
</author>
<published>2026-06-25T09:07:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=fa461abf8a51b09c965d15c0d65be704b8b00a19'/>
<id>urn:sha1:fa461abf8a51b09c965d15c0d65be704b8b00a19</id>
<content type='text'>
The function DevPathToTextUsbWWID() allocates NewStr when the input
SerialNumber lacks a null terminator. However, this allocated memory
is never freed after use, resulting in a memory leak.

This patch adds the missing FreePool() for NewStr before the function
returns, ensuring that the allocated buffer is properly freed and
eliminating the potential leak.

Signed-off-by: Qihang Gao &lt;gaoqihang@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg/DynamicStackCookieEntryPointLib: Add LoongArch64 support</title>
<updated>2026-07-07T08:49:21+00:00</updated>
<author>
<name>Chao Li</name>
<email>lichao@loongson.cn</email>
</author>
<published>2026-07-06T03:09:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=42fde88a42e66517c6b020a8d1ac6a25951d1193'/>
<id>urn:sha1:42fde88a42e66517c6b020a8d1ac6a25951d1193</id>
<content type='text'>
Added LoongArch64 support. Currently, LoongArch64 doesn't supports TRNG,
it uses the `RDTIME` instruction and a xorshif64 alorithms to compose a
PRNG(RngLib).
It may supports the SE TRNG in the future, and will change to the TRNG
when SE support becomes available.

Signed-off-by: Chao Li &lt;lichao@loongson.cn&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg: Add LoongArch64 support for StackCheckLib</title>
<updated>2026-07-07T08:49:21+00:00</updated>
<author>
<name>Chao Li</name>
<email>lichao@loongson.cn</email>
</author>
<published>2026-06-29T01:42:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=8756401a027fe81e31ca81dd2d9a77e7557ef219'/>
<id>urn:sha1:8756401a027fe81e31ca81dd2d9a77e7557ef219</id>
<content type='text'>
Added LoongArch64 stack cookie interrupt instance, calling `CpuBreakpoint`
to stop the CPU.

Signed-off-by: Chao Li &lt;lichao@loongson.cn&gt;
Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg: DxeRiscvMpxyLib: Fix uninitialized variable warning</title>
<updated>2026-06-24T14:49:50+00:00</updated>
<author>
<name>Tuan Phan</name>
<email>tuan.phan@oss.qualcomm.com</email>
</author>
<published>2026-06-16T17:18:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d0b66f1671c6196eab3da23ea9a8346a7289f286'/>
<id>urn:sha1:d0b66f1671c6196eab3da23ea9a8346a7289f286</id>
<content type='text'>
In SbiMpxyGetShmemSize(), ShmemSize is not assigned in the failure
path, but the caller may still access it. Initialize ShmemSize to
zero to fix the uninitialized variable warning.

Signed-off-by: Tuan Phan &lt;tuan.phan@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Remove contructor from Mpxy Library</title>
<updated>2026-06-09T10:10:44+00:00</updated>
<author>
<name>Himanshu Chauhan</name>
<email>himanshu.chauhan@oss.qualcomm.com</email>
</author>
<published>2026-06-08T18:29:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=9b9e1974c0e355b287e8ac2e608e7b7f693f122c'/>
<id>urn:sha1:9b9e1974c0e355b287e8ac2e608e7b7f693f122c</id>
<content type='text'>
Cases when MPXY extension is not present or it fails, the system boot fails.
This is easily reproducible with Qemu master branch.

Remove the constructor and let RAS agent client initialize the MPXY library
and fail graceully in case of errors but the boot process continue.

Signed-off-by: Himanshu Chauhan &lt;himanshu.chauhan@oss.qualcomm.com&gt;
</content>
</entry>
<entry>
<title>MdePkg: Replace manual alignment checks with helper macros</title>
<updated>2026-06-09T07:20:10+00:00</updated>
<author>
<name>Mingjie Shen</name>
<email>shen497@purdue.edu</email>
</author>
<published>2026-05-14T02:17:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f57a4f1216c707b56d91a5ec2d2f7a8d5daa902f'/>
<id>urn:sha1:f57a4f1216c707b56d91a5ec2d2f7a8d5daa902f</id>
<content type='text'>
Replace manual alignment checks with IS_ALIGNED() and
ADDRESS_IS_ALIGNED().

Convert the following bitmask and modulo forms:

- ((E &amp; ((PowOf2Expr) - ONE)) == ZERO)
- ((E &amp; ((PowOf2Expr) - ONE)) != ZERO)
- ((E % (PowOf2Expr)) == ZERO)
- ((E % (PowOf2Expr)) != ZERO)

to the corresponding helper macro forms:

+ IS_ALIGNED (E, PowOf2Expr)
+ !IS_ALIGNED (E, PowOf2Expr)

PowOf2Expr is limited to known power-of-two expressions, including
SIZE_* and BASE_* macros, EFI_PAGE_SIZE, CPU_STACK_ALIGNMENT,
RUNTIME_PAGE_ALLOCATION_GRANULARITY, sizeof() of UEFI integer types
(e.g. BOOLEAN, CHAR16, UINT32, UINTN) and pointer types, and 1 &lt;&lt; E1
expressions.

Address checks that cast the checked value to UINTN are written with
ADDRESS_IS_ALIGNED().

The change was generated with the Coccinelle semantic patch below.

```smpl
@power_of_2_expr@
expression PowOf2Expr;
expression E1;
typedef BOOLEAN, CHAR8, CHAR16, INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, INTN, UINTN;
type ScalarType = { BOOLEAN, CHAR8, CHAR16, INT8, UINT8, INT16, UINT16, INT32, UINT32, INT64, UINT64, INTN, UINTN };
type AnyType;
type PointerType = AnyType *;
idexpression ScalarType ScalarValue;
idexpression PointerType PointerValue;
constant SizeBase =~ "^(SIZE|BASE)_(1|2|4|8|16|32|64|128|256|512)[KMGTPE]B$";
constant NamedPowerOf2 =~ "^(EFI_PAGE_SIZE|CPU_STACK_ALIGNMENT|RUNTIME_PAGE_ALLOCATION_GRANULARITY)$";
constant ONE = {1, 1U, 1u};
@@
(
(
  SizeBase
|
  NamedPowerOf2
|
  ONE &lt;&lt; E1
|
  sizeof (ScalarType)
|
  sizeof (PointerType)
|
  sizeof (ScalarValue)
|
  sizeof (PointerValue)
)
&amp;
PowOf2Expr
)

@aligned depends on power_of_2_expr disable is_zero,isnt_zero@
expression E;
expression power_of_2_expr.PowOf2Expr;
constant ONE = {1, 1U, 1u};
constant ZERO = {0, 0U, 0u};
@@
(
  ((E &amp; (E - ONE)) == ZERO)
|
- ((E &amp; ((PowOf2Expr) - ONE)) == ZERO)
+ IS_ALIGNED (E, PowOf2Expr)
|
  ((E &amp; (E - ONE)) != ZERO)
|
- ((E &amp; ((PowOf2Expr) - ONE)) != ZERO)
+ !IS_ALIGNED (E, PowOf2Expr)
|
- ((E % (PowOf2Expr)) == ZERO)
+ IS_ALIGNED (E, PowOf2Expr)
|
- ((E % (PowOf2Expr)) != ZERO)
+ !IS_ALIGNED (E, PowOf2Expr)
)

@address_is_aligned@
typedef UINTN;
expression *Address;
expression Alignment;
@@
- IS_ALIGNED ((UINTN) Address, Alignment)
+ ADDRESS_IS_ALIGNED (Address, Alignment)

@normalize_aligned disable paren expression@
expression E, SZ;
@@
(
- (IS_ALIGNED (E, SZ))
+ IS_ALIGNED (E, SZ)
|
- (!IS_ALIGNED (E, SZ))
+ !IS_ALIGNED (E, SZ)
)

@normalize_macro_args disable paren expression@
expression E, SZ;
@@
(
- IS_ALIGNED ((E), SZ)
+ IS_ALIGNED (E, SZ)
|
- IS_ALIGNED (E, (SZ))
+ IS_ALIGNED (E, SZ)
)
```

Signed-off-by: Mingjie Shen &lt;shen497@purdue.edu&gt;
</content>
</entry>
<entry>
<title>MdePkg/CompilerIntrinsicsLib: Add LoongArch64 __ashlti3</title>
<updated>2026-06-08T08:40:19+00:00</updated>
<author>
<name>zhubo</name>
<email>zhubo@loongson.cn</email>
</author>
<published>2026-05-28T11:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cfc02314accefe13e63f753ff44cb2477d20525d'/>
<id>urn:sha1:cfc02314accefe13e63f753ff44cb2477d20525d</id>
<content type='text'>
GCC may emit a call to __ashlti3 for 128-bit left shifts when
compiling code that uses unsigned __int128, such as OpenSSL Curve448
code in CryptoPkg. The LoongArch64 firmware build does not link against
libgcc, so provide the helper from CompilerIntrinsicsLib.

Implement __ashlti3 using the LoongArch64 ABI: the low and high 64-bit
halves are passed in $a0 and $a1, the shift count is passed in $a2, and
the result is returned in $a0 and $a1.

Cc: Michael D Kinney &lt;michael.d.kinney@intel.com&gt;
Cc: Liming Gao &lt;gaoliming@byosoft.com.cn&gt;
Cc: Chao Li &lt;lichao@loongson.cn&gt;
Signed-off-by: zhubo &lt;zhubo@loongson.cn&gt;
</content>
</entry>
<entry>
<title>MdePkg/BaseFdtLib: Add FdtStringListCount and FdtStringListSearch wrappers</title>
<updated>2026-06-04T06:55:42+00:00</updated>
<author>
<name>Thamballi Sreelalitha</name>
<email>sreelali@qti.qualcomm.com</email>
</author>
<published>2026-05-29T15:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=d39a7ed7579d2fb056644aa38cae3ae64e89c1c8'/>
<id>urn:sha1:d39a7ed7579d2fb056644aa38cae3ae64e89c1c8</id>
<content type='text'>
Add UEFI-native wrappers for libfdt string list count and search APIs.

Signed-off-by: Thamballi Sreelalitha &lt;sreelali@qti.qualcomm.com&gt;
</content>
</entry>
</feed>
